在我的项目中,我有一个带有子对象的地平面舞台。现在,我想使用UI按钮旋转该对象。如果我按住按钮,它应该旋转;如果释放按钮,则旋转应该停止。不幸的是,我无法做到这一点。
这是我的脚本:
public class RotateObject : MonoBehaviour
{
public float rotationSpeed = 45f;
public bool isPressed = false;
public void TogglePressed(bool value)
{
isPressed = !isPressed;
} //edit added missing Brace
void Update()
{
if (isPressed)
{
transform.Rotate(Vector3.up * rotationSpeed * Time.deltaTime);
}
}
}
我在按钮上添加了Event Trigger
和Pointer Down
和Pointer Up
。
该脚本已附加到我的gameObject上,并且TogglePressed
函数已与选中复选框的Pointer Down
和Pointer Up
链接到Input.GetMouseButtonDown()
,此处未选中此复选框。
如果我在Unity中对其进行了测试并单击了按钮,那么检查器将显示它可以工作,但是如果将其上传到手机中,则该对象不会旋转。
编辑:
void Update()
{
if (isPressed && Input.GetMouseButtonDown(0))
{
// Same Code
}
Input.GetButtonDown()
}
void Update()
{
if(isPressed && Input.GetButtonDown("Fire1"))
{
//Same Code
}
}
public class RoatateObject : MonoBehaviour
{
public float rotationSpeed = 45f;
void Update()
{
if(Input.GetMouseButtonDown(0))
{
transform.Rotate(Vector3.up * rotationSpeed * Time.deltaTime);
}
}
}
EDIT2:
这是我现在使用的脚本:
import com.twitter.finagle.Http
import com.twitter.finatra.http.HttpServer
import com.twitter.finatra.http.routing.HttpRouter
object ExampleHttpsServerMain extends ExampleHttpsServer
class ExampleHttpsServer
extends HttpServer
with Tls {
override val defaultHttpPort: String = "" // disable the default HTTP port
override val defaultHttpsPort: String = ":443"
override def configureHttp(router: HttpRouter): Unit = {
router
.add[ExampleController]
}
}
答案 0 :(得分:1)
我不知道手机上是否可以识别出指针向下,您是否尝试过Input.GetMouseButtonDown()(也在手机上触发)?
也许为了加快测试速度,请尝试unity remote进行本地测试,而不是上传到手机上