物品展示部分
4-物体旋转
效果设想
这里我们决定使用一个按钮来进行控制,当用户点击按钮时,物体可以匀速旋转,当用户再次点击按钮时物品将会停止旋转,停止到用户按下按钮的位置而非原位,方便用户观察细节。
思路介绍
这里我们可以使用一个bool变量来控制物体是否旋转,当该变量为true时,物体开始匀速旋转;当该变量为false时,物体停止旋转。按钮方面,使用一个整形变量num来记录点击次数,当点击次数为奇数时开始旋转,点击次数为偶数时停止旋转。
代码实现
物体旋转
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class item_rotate : MonoBehaviour
{
public float speed = 60f;
public GameObject button_controller;
// Start is called before the first frame update
void Start()
{
button_controller = GameObject.Find("Button_click_manager").gameObject;
}
// Update is called once per frame
void Update()
{
if (button_controller.GetComponent<click_control>().isRotate)
{
this.transform.Rotate(new Vector3(0, 0, 1 * Time.deltaTime * speed));
}
}
}
按钮操控
首先在click_control脚本中,声明一个整型变量rotate_num ,用于存储点击次数
public int rotate_num = 0;
再声明一个布尔变量isRotate 用于表示物体的状态,旋转为true,停止为false
public bool isRotate = false;
声明一个item_rotate方法,当点击次数为奇数时开始旋转,点击次数为偶数时停止旋转。
public void item_rotate()
{
if (rotate_num % 2 == 0)
{
isRotate = true;
}
else
{
isRotate = false;
}
rotate_num++;
}
并将该方法放入对应按钮的click方法中