游戏中按键前后移动和基本的旋转和移动知识
2017-08-18 19:36
204 查看
旋转总结
//圆内随机的一个点
Debug.Log(Random.insideUnitCircle);
//沿着世界轴X轴旋转,正方向顺时针旋转
transform.Rotate(newVector3(1, 0, 0),
Space.World);
//沿着自己的X轴正方向旋转
transform.Rotate(newVector3(1, 0, 0));
//沿着世界轴的中心向上旋转
transform.RotateAround(Vector3.zero,
Vector3.up, 20 *
Time.deltaTime);
//每秒30°顺时针旋转
transform.Rotate(newVector3(0, 30, 0) *
Time.deltaTime);
//绕着Y轴每次旋转45°
transform.Rotate(newVector3(0, 1, 0), 45 *
Time.deltaTime);
移动总结:
//向正方向移动 每秒移动2米
transform.Translate(Vector3.forward *
Time.deltaTime * 2);
//向X轴正方向移动
transform.Translate(newVector3(1, 0, 0) *
Time.deltaTime * 5);
通过按键控制物体的移动方向
if (Input.GetKey(KeyCode.W))
{
obj1.transform.Translate(Vector3.forward *
Time.deltaTime * 2);
}
if (Input.GetKey(KeyCode.S))
{
obj1.transform.Translate(Vector3.back *
Time.deltaTime * 2);
}
if (Input.GetKey(KeyCode.A))
{
obj1.transform.Rotate(newVector3(0, -30, 0) *
Time.deltaTime * 2);
} 上面的程序是当按下A时向左旋转30度
if (Input.GetKey(KeyCode.D))
{
obj1.transform.Rotate(newVector3(0, 30, 0) *
Time.deltaTime * 2);
} 向右旋转30度
if (Input.GetKey(KeyCode.Space))
{
obj1.transform.Translate(Vector3.up *
Time.deltaTime * 15);
}
//圆内随机的一个点
Debug.Log(Random.insideUnitCircle);
//沿着世界轴X轴旋转,正方向顺时针旋转
transform.Rotate(newVector3(1, 0, 0),
Space.World);
//沿着自己的X轴正方向旋转
transform.Rotate(newVector3(1, 0, 0));
//沿着世界轴的中心向上旋转
transform.RotateAround(Vector3.zero,
Vector3.up, 20 *
Time.deltaTime);
//每秒30°顺时针旋转
transform.Rotate(newVector3(0, 30, 0) *
Time.deltaTime);
//绕着Y轴每次旋转45°
transform.Rotate(newVector3(0, 1, 0), 45 *
Time.deltaTime);
移动总结:
//向正方向移动 每秒移动2米
transform.Translate(Vector3.forward *
Time.deltaTime * 2);
//向X轴正方向移动
transform.Translate(newVector3(1, 0, 0) *
Time.deltaTime * 5);
通过按键控制物体的移动方向
if (Input.GetKey(KeyCode.W))
{
obj1.transform.Translate(Vector3.forward *
Time.deltaTime * 2);
}
if (Input.GetKey(KeyCode.S))
{
obj1.transform.Translate(Vector3.back *
Time.deltaTime * 2);
}
if (Input.GetKey(KeyCode.A))
{
obj1.transform.Rotate(newVector3(0, -30, 0) *
Time.deltaTime * 2);
} 上面的程序是当按下A时向左旋转30度
if (Input.GetKey(KeyCode.D))
{
obj1.transform.Rotate(newVector3(0, 30, 0) *
Time.deltaTime * 2);
} 向右旋转30度
if (Input.GetKey(KeyCode.Space))
{
obj1.transform.Translate(Vector3.up *
Time.deltaTime * 15);
}
相关文章推荐
- Qt 游戏之路(三) 战车和炮的移动时旋转
- CABasicAnimation的基本使用方法(移动·旋转·放大·缩小)
- 企业移动应用开发基本知识树 (Android & iOS)
- 摄像机的左右前后移动以及旋转
- Qt 游戏之路(三) 战车和炮的移动时旋转
- 关于Javascript游戏按键操控移动的思考
- Android游戏开发基本知识
- CABasicAnimation的基本使用方法(移动·旋转·放大·缩小)
- three.js入门基本知识,教你十分钟做出一个旋转的图形
- 游戏贴图的基本知识
- 移动开发之手机游戏基本概念
- 游戏开发中的基本物理学知识
- Bitmap位图渲染与操作(图片移动,放大,缩小,旋转,镜像发转)--android游戏开发
- FLASH网络游戏基本知识
- 移动应用软件及耗电量–基本知识
- Unity用键盘控制物体左右旋转前后移动的c#脚本
- IOS 基本动画(旋转、移动、闪烁、缩放等)
- Unity3D 游戏引擎之控制模型移动旋转与碰撞(七)
- CABasicAnimation的基本使用方法(移动·旋转·放大·缩小)
- 第一人称和第三人称游戏中人物的移动和旋转