如何解决我无法通过单击按钮来移动播放器
我的玩家GameObject是AlienPlayer 我想通过单击按钮来移动播放器 代码在键盘控件上有效,但在单击按钮时无效 这是我的更新():
void Update()
{
movement = Input.GetAxis ("Horizontal");
if (movement > 0f) {
left();
}
else if (movement < 0f) {
right();
}
else {
rigidBody.velocity = new Vector2 (0,rigidBody.velocity.y);
}
if (moveLeft) { left(); }
else if (moveRight) { right(); }
}
public void left()
{
rigidBody.velocity = new Vector2(movement*speed,rigidBody.velocity.y);
//rigidBody.AddForce(transform.forward * speed,ForceMode2D.Force);
transform.localScale = new Vector2(2f,2f);
}
public void right()
{
rigidBody.velocity = new Vector2(movement * speed,rigidBody.velocity.y);
transform.localScale = new Vector2(-2f,2f);
}
这是事件触发条件:
public void LeftBtnDown()
{
moveLeft = true;
}
public void LeftBtnUp()
{
moveLeft = false;
}
public void RightBtnDown()
{
moveRight = true;
}
public void RightBtnUp()
{
moveRight = false;
}
**我想为Android制作此控件**
解决方法
您的代码似乎具有逻辑功能,我的第一个猜测是您的场景中没有任何事件系统。
您只需在层次结构菜单-> UI-> EventSystem中单击+,即可创建一个。
我不认为代码是问题所在,但是如果EventSystem最终不是问题所在,则可以尝试将Update方法更改为此:
void Update()
{
movement = Input.GetAxis ("Horizontal");
if (movement > 0f || moveLeft) {
left();
}
else if (movement < 0f || moveRight) {
right();
}
else {
rigidBody.velocity = new Vector2 (0,rigidBody.velocity.y);
}
}
如果这行不通,我需要其他信息来帮助您。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。