旋转移动缩放游戏对象

using UnityEngine;
using System.Collections;

public class MoveScaleRotateGameObject : MonoBehaviour {

    public GameObject cube;
    public GameObject cylinder;

    float speed = 100.0f;
    float x;
    float y;

    void Start () {

    }

    void Update()
    {
        if(Input.GetMouseButton(0))
        {
            x = Input.GetAxis("Mouse Y") * Time.deltaTime * speed;
            y = Input.GetAxis("Mouse X") * Time.deltaTime * speed;
        }else
        {
            x = y = 0;
        }

        // 旋转角度 (增加)
        cube.transform.Rotate(new Vector3(x, y, 0));


    }

    void OnGUI()
    {
        if(GUILayout.Button("向左移动物体"))
        {
            cube.transform.Translate(new Vector3(-0.5f, 0f, 0f));
        }

        if (GUILayout.Button("向右移动物体"))
        {
            cube.transform.position = cube.transform.position + new Vector3(0.5f, 0f, 0f);
        }

        if(GUILayout.Button("放大物体"))
        {
            cube.transform.localScale *= 1.2f;
        }

        if(GUILayout.Button("缩小物体"))
        {
            cube.transform.localScale *= 0.8f;
        }

        // 左右旋转
        if (GUILayout.Button("旋转物体"))
        {
            cube.transform.Rotate(new Vector3(0, 10, 0));
        }

        // 上下旋转
        if(GUILayout.Button("上下旋转"))
        {
            cube.transform.Rotate(new Vector3(10, 0, 0));
        }

        if(GUILayout.Button("其它旋转"))
        {
            cube.transform.Rotate(new Vector3(0, 0, 10));
        }

        if (GUILayout.Button("围绕球体旋转物体"))
        {
            cube.transform.RotateAround(cylinder.transform.position, Vector3.up, 10);
        }
    }
}
  • 移动游戏对象
tansform.Translate(Vector3 offset);

该函数相当于 transform.position = transform.position + offset

  • 缩放游戏对象
transform.localScale = new Vector3(x,y,z);

其中Vector3的x为x轴向的缩放,y为y轴向的缩放,z为z轴向的缩放。
也可以通过下面的代码格式快速整体绽放:

transform.localScale *= 1.2f;  //对象整体放大1.2倍速
  • 旋转游戏对象
    游戏对象的旋转方式分为两种:
    1. 自转(也就是围绕)
    2. 围绕旋转(也就是围绕一个点或者一个游戏对象来旋转)
  • transform.Rotate(); 该函数用于设置游戏对象自转
  • transform.RoateAround(); 该函数用于设置游戏对象围绕某一个点旋转。
  • Time.deltatime:上一帧所消耗的时间,这里用作模型旋转的速度系数。
  • Vector3.right:x轴正方向。
  • Vector3.up y轴正方向
  • Vector3.forward:z轴正方向。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值