💡返回主题
编写代码
1. 创建敌人的子弹:复制玩家的子弹,改名为“敌人子弹”。
2.然后,给手枪喵编写射击动作:
- 手枪喵在随机走动后,朝玩家连开三枪;
- 这里有一个问题:手枪猫克隆子弹后,怎么让子弹移到手枪喵的位置?
如果让子弹使用下面的积木,只能让子弹移动到手枪喵本体(本体是隐藏的,不执行动作,只负责克隆手枪喵)。而不能移到某个手枪喵克隆体。
解决办法:我们可以新建变量子弹 x,子弹 y,子弹方向,用来记录子弹的初始坐标和方向。
• 然后,手枪喵发射子弹的时候,将子弹的初始位置、方向设为自己的位置,朝向:
3.接着回到敌人子弹角色,编写代码:
- 当敌人子弹被克隆,移到指定的初始位置,面向指定的方向,重复移动,直到碰到屏幕或击中玩家,击中玩家后减少玩家血量;
4. 接着,我们回到玩家的子弹,添加击中手枪喵的判定:
这样我们就完成了手枪喵的开火动作!
一个小问题:和之前玩家的问题一样,子弹从敌人的中心发出,而没有移到敌人的枪口位置。 因此,将敌人发射子弹时的位置稍作修改:子弹朝敌人方向前移30步,上移6步,以移到枪口位置。
现在子弹将从枪口位置射出:
不过,目前手枪喵的武器是固定在造型中的,无法指向玩家。让武器克隆体跟随对应的敌人克隆体相对比较麻烦(涉及到克隆体之间读取信息,比如读取某个克隆体的 x、y 坐标),这部分将在后面的射击游戏中级篇介绍。
<iframe
width="100%"
height="800px"
scrolling="no"
src="https://www.ccw.site/embed?id=STG101/Arkos/Lec5/03&type=comment"
title="{射击5-让手枪喵朝玩家开火}"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowFullScreen
scrolling="0"
></iframe>