生成敌人功能问题



  • 1、敌人组里面有多个敌人类型
    2、子弹组里面有多个子弹类型
    想做一个,在每隔x秒生成指定参数或变量的敌人,这些敌人可每隔x秒生成指定参数或变量的子弹。如何传这些参数也说明一下。



  • @PF橘子66 没有直接根据变量创建实例的方式,创建实例的动作只有三种,其中两种必须要手动选择一种对象,唯一能动态创建实例的只有“根据名称创建实例”,如你所见,这个也还是根据动画名来的,没有直接根据变量值来创建(而且变量值允许相同,所以假设真的有这种方式,也容易造成混乱),所以只能使用间接的方式来达成你要的效果,那就是把指定参数和对象名以一种对照表的形式联系起来,一般就是写在数组里,某一行固定用来写对象名,某一行固定用来写属性值,然后根据属性值定位到是哪一列,就能反向对应到是什么对象名,也就能间接达成“根据指定参数、变量生成对应敌人”的效果了,思路就是这么个思路



  • 那按照名称创建出来的实例,怎么区分他们发射的子弹。是要先存一下实例的uid,然后再uid存在时的条件吗



  • @东仙队长の手刀
    我想的是,把敌机生成和子弹生成搞成动作组,然后去使用想要的动作组。
    问题一:当创建出不同运动方向的敌机时,这些敌机的方向会互相影响。想过有uid去识别创建的敌机,不清楚要怎么识别和去筛选出指定的uid。
    问题二:这些敌机被创建出来后,想要发射对应的子弹。这个我也不知道怎么去筛选这些被创建出来的敌机。
    问题三:敌机和子弹的时间怎么区分,进行独立生成
    undefined
    undefinedundefined



  • @PF橘子66 只是想区分是谁发射出来的子弹的话,给子弹加一个变量,变量值用来记录它是由哪个实例生成的就行了,例如创建子弹时,设置子弹的这个变量为对应飞机类的uid(这个需要设计飞机类的选中条件,例如按你的写法是每隔x秒,选中变量值为某值的一类飞机,然后这类飞机发射子弹,那么就可以加一个遍历飞机实例的条件来单独选中每一个实例,这样它们创建子弹实例的时候,直接就能设置子弹实例变量为飞机类的uid,至此就完成了每颗子弹由谁发出来的这种对应关系),然后当子弹产生碰撞行为或其他行为,需要反向了解它来源于哪个飞机的时候,就可以在子弹碰撞时这些条件下,补一个按uid选中飞机类的条件,uid填子弹那个用来记录来源飞机uid的变量即可,这样就同时完成了子弹和对应飞机实例的筛选,然后就根据你的需要去做后续操作就行了。



  • @PF橘子66 每个敌机要拥有独立的子弹发射间隔时间而不是统一发射子弹的间隔时间的话,不要用“每隔x秒”这个条件,要改用定时器能力才行哦,比较简单粗暴的做法就是,遍历所有飞机类的实例,然后谁的发射子弹定时器不在运行中,就发射一次子弹并创建一个新的发射子弹定时器作为冷却时间即可,其他的就跟上边这位朋友说的,创建子弹的时候,顺便把子弹属于哪个飞机的uid记录一下,这样之后就能通过子弹反向选中发射这颗子弹的敌机具体是哪一只了



  • 我去试试,谢谢大佬


登录后回复