Unity3d Unity 2D:我该如何制作一个方块,当玩家碰到它时,它就会射门?

Unity3d Unity 2D:我该如何制作一个方块,当玩家碰到它时,它就会射门?,unity3d,unityscript,Unity3d,Unityscript,我正在Unity中制作一个2D平台,我想制作一个与。当玩家碰到它们时,它们会从标记所在的各个方向射击,子弹会伤害玩家和敌人,摧毁板条箱并激活其他射击块。因为我不知道从哪里开始,有人能告诉我如何才能做到这一点吗 对于开始,您可以使用OnMouseDown事件来检测对象上的点击或触摸,然后您可以从block中实例化子弹对象,并为其刚体提供一个向该对象移动的速度。您可以对每个要检测碰撞并执行任务的游戏对象使用OnCollisionInter2dCollision2D c事件。谢谢您的回复。我已经跟随了

我正在Unity中制作一个2D平台,我想制作一个与。当玩家碰到它们时,它们会从标记所在的各个方向射击,子弹会伤害玩家和敌人,摧毁板条箱并激活其他射击块。因为我不知道从哪里开始,有人能告诉我如何才能做到这一点吗

对于开始,您可以使用OnMouseDown事件来检测对象上的点击或触摸,然后您可以从block中实例化子弹对象,并为其刚体提供一个向该对象移动的速度。您可以对每个要检测碰撞并执行任务的游戏对象使用OnCollisionInter2dCollision2D c事件。

谢谢您的回复。我已经跟随了一些你所说的教程,我已经设法让射弹从底部掉到了块上。你知道我怎样才能让它从侧面射出吗?没关系,我用了另一种技术。取而代之的是,我制作了一个空的游戏对象,并将子弹作为一个孩子。当玩家接触到该块时,动画师会将该块弹向右侧。因为每个街区只需要开火一次,所以它是有效的。然而,当被其他物体接触时,我在激活块时遇到了一些问题。我已经给了所有我想激活它的对象一个ShootBlockAct标记,并且我已经将它添加到我的脚本“ifOther.gameObject.tag==Player | Other.gameObject.tag==ShootBlockAct”等等,但是,子弹不会激活其他块。一些让他们开火的方法,比如在他们身上推一个木块,但是子弹不起作用。你知道我做错了什么吗?你可以给子弹一个标记,例如bullet_标记,然后在任何块onCollisionInter2dCollision2D c事件中,用ifc.gameObject.tag==bullet_标记语句检查此冲突,然后做任何你想做的事情