c# - OnMouseEnter 旋转变换

标签 c# unity3d

我想在 Unity3D 上旋转一张扑克牌,所以当玩家点击卡片时,会显示卡片。

我阅读了文档,到目前为止,我能够使用以下代码完成此操作:

public void OnMouseEnter()
{
    transform.Rotate(Vector3.up);
}

现在我想使用以下代码通过 OnMouseDown() 来完成:

for (int i = 1; i == 90; i++)
{
    transform.Rotate(Vector3.up);
}

但到目前为止它什么也没做。这个想法是自动轮换。

有什么想法吗???

最佳答案

piojo 的答案有效,但它不是在您单击卡片时启动,而是在您单击应用程序的任意位置时启动。

private bool isClicked = false;
void OnMouseDown() {
    isClicked = true;
}

public float rotationSpeed = 100.0f;
void Update () {
    if(isClicked) {
        transform.Rotate(Vector3.up * Time.deltaTime * rotationSpeed);
    }
}

此代码在名为 OnMouseDown 的事件上启动旋转。要在您点击卡片时触发它,您需要向 GameObject 添加 2D 或 3D collider。这些可以从 Add Component-> PhysicsPhysics 2D 中找到。

我为 rotationSpeed 使用了公共(public)变量,因为它的值可以从 unity 编辑器中调整。

关于c# - OnMouseEnter 旋转变换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28758444/

相关文章:

c# - 限制 Unity 正交相机平移运动

c# - 自动完成字符为 ( 和 }

android - 适用于 Unity Android 的 PubNub GCM

c# - Caliburn.Micro - 使用 CaSTLe.Windsor 从 IoC 容器解析 ViewModel

c# - 如何从一个选项卡切换到另一个选项卡 Xamarin IOS

c# - 如何从 URL 流式传输/下载和播放音频?

c# - 使用自定义模板创建脚本

java - 如何检测其他应用程序是否正在播放音乐?

c# - 无法将 "System.Collections.Hashtable"转换为类型“System.Collections.Generic.Dictionary

c# - onclick 时清除登录控件中的文本框