Unity3D5.0中如何利用程序添加帧事件?请大神指教!!

Unity3D5.0中如何利用程序添加帧事件?请大神指教!!,第1张

控制角色移动播放动作或者其他逻辑则需要给这个橘色节点绑定逻辑脚本,UNity支持多种脚本语言,在此是用JAVA脚本.

创建 脚本Assets -->Create ---->JavaScript 创建一个空的逻辑脚本,并将这个脚本绑定在主角对象身上,绑定方式是直接拖拽到主角节点即可。

对脚本的编写:

类及接口主要参照帮助文档,这里只介绍脚本基本结构和简单示例:

每个脚本至少都有两个函数: function Start() 可以认为是初始化 function Updata()则是每帧更新函数。

要实现对角色位置的控制移动首先要定义该角色,

首先 定义GameObject对象也就是要控制的目标: private var _MainRole:GameObject

在function Start() 函数中初始化该对象: inRole = GameObject.Find("MainRole")// 从场景中查找到名叫"MainRole"的对象也就是主角。

在每帧更新时侦听键盘事件,如果按键按下W则空对象向前移动

if(Input.GetKey(KeyCode.W))

{

_MainRole.transform.Translate( Vector3.forward * 0.05 )

}

至此,就已经完成按键控制角色移动的全部过程,运行游戏就可以用按键控制角色移动。

下面是一个示例代码,展示了如何在 Unity 中创建一个项目,添加一个 cube 立方体、2 个按钮(移动和旋转),并实现点击按钮时立方体移动或旋转的效果:

1.在Unity中新建一个项目,在场景中添加一个cube

2.新建一个脚本CubeCtrl.cs,将其拖到cube上面

3.将2个按钮放置到场景中,添加点击事件,挂载上面

using UnityEngine

using UnityEngine.UI

public class CubeCtrl : MonoBehaviour

{

public float moveSpeed = 1.0f

public float rotateSpeed = 1.0f

public Button moveBtn

public Button rotateBtn

void Start()

{

// 给移动按钮添加事件

moveBtn.onClick.AddListener(Move)

rotateBtn.onClick.AddListener(Rotate)

}

void Move()

{

transform.position += new Vector3(moveSpeed, 0, 0)

}

void Rotate()

{

transform.Rotate(new Vector3(0, rotateSpeed, 0))

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11881989.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存