经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 软件/图像 » unity » 查看文章
1.使用脚本控制模型的移动 --《Unity 3D 游戏开发》笔记
来源:cnblogs  作者:cici_flyToMe  时间:2018/9/25 19:27:33  对本文有异议

 

由于最新版的unity已经不支持javascript语言啦,本人又是个C#小白,所以记录一下自己写的脚本。

first 创建一个模型,放在平面上,调整下角度,就像这样:

 

然后写一个脚本来控制模型移动:

 

  1. public class NewBehaviourScript : MonoBehaviour {
  2. //首先定义两个变量,public是公有变量,在程序中可以直接访问,私有变量只能在脚本中访问
  3. //此处定义模型移动速度以及模型旋转速度
  4. public int TranslateSpeed = 20;
  5. public int RotateSpeed = 1000;
  6. //OnGUI方法绘制页面组件
  7. void OnGUI()
  8. {
  9. //设置GUI背景颜色
  10. GUI.backgroundColor = Color.red;
  11. //GUI.Button设置一个按钮,返回true时表示按钮被按下
  12. //Rect一个由X和Y位置、宽度和高度定义的2D矩形
  13. if (GUI.Button(new Rect(10, 10, 70, 30), "向左旋转"))
  14. {
  15. //向左旋转模型
  16. transform.Rotate(Vector3.up * Time.deltaTime * (-RotateSpeed));
  17. //transform为当前绑定模型的变换对象
  18. //Vector3.up = Vector3(0, 1, 0)
  19. //Vector3表示三维向量x,y,z,此处向左旋转,括号中负号应该表示沿y轴逆时针
  20. //Time.deltaTime只读属性,表示完成最后一帧的时间,单位为秒
  21. }
  22. if (GUI.Button(new Rect(90, 10, 70, 30), "向前移动"))
  23. {
  24. //向前移动模型
  25. transform.Translate(Vector3.forward * Time.deltaTime * TranslateSpeed);
  26. //Vector3(0, 0, 1)
  27. }
  28. if (GUI.Button(new Rect(170, 10, 70, 30), "向右旋转"))
  29. {
  30. //向右旋转模型
  31. transform.Rotate(Vector3.up * Time.deltaTime * RotateSpeed);
  32. }
  33. if (GUI.Button(new Rect(90, 50, 70, 30), "向后移动"))
  34. {
  35. //向后移动模型
  36. transform.Translate(Vector3.forward * Time.deltaTime * (-TranslateSpeed));
  37. }
  38. if (GUI.Button(new Rect(10, 50, 70, 30), "向左移动"))
  39. {
  40. //向左移动模型
  41. transform.Translate(Vector3.right * Time.deltaTime * (-TranslateSpeed));
  42. //Vector3(1, 0, 0)
  43. }
  44. if (GUI.Button(new Rect(170, 50, 70, 30), "向右移动"))
  45. {
  46. //向右移动模型
  47. transform.Translate(Vector3.right * Time.deltaTime * TranslateSpeed);
  48. }
  49. //GUI.Label设置一个文本框
  50. //显示模型位置信息
  51. GUI.Label(new Rect(250, 10, 200, 30), "模型的位置" + transform.position);
  52. //显示模型旋转信息
  53. GUI.Label(new Rect(250, 50, 200, 30), "模型的旋转" + transform.rotation);
  54. }
  55. }

 

脚本写完了以后会发现我们定义的变量出现在模型的属性栏里了

 

然后点击play,就出现了这样的界面:

 

我把脚本绑定在立方体上啦,点击左上角的按钮它就会到处跑哦,由于我给它添加了刚体属性,还会撞到其它模型,real有趣

emmm第一个实例 完成~

撒花~??ヽ(°▽°)ノ?

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号