我做了一个移动2D游戏,你需要点击屏幕开始移动球,但出了点问题。 这是我的代码:
getRowData
当我点击屏幕时,球仍然固定。
答案 0 :(得分:1)
您的代码无法正常工作,因为您正在检查Start方法中的输入计数。创建场景时调用Start方法。之后它不会检查你的if语句。把它写成这样的Update方法。
=AND(A2:A=indirect("JOBS!A2:A"), A2:A<>"")
答案 1 :(得分:0)
如上所述,您使用了Start方法上的代码。如果你想用触摸来移动球只有一次,也许可以使用bool。声明:
public class movingBall : MonoBehaviour {
bool gameStart;
void Start(){
gameStart=false;
}
void Update()
{
if (Input.touchCount >=1)
{
if (gameStart){
//game already started, do stuff with touch action in game
}else{
//game not started yet, move the ball once
gameStart=true;
GetComponent<Rigidbody2D> ().AddForce (new Vector2 (1f, 0.5f) * force);
}
}
}
}
对于游戏结束,请记住再次将其设置为false。
如果您只使用触摸输入开始,您可以这样做:
public class movingBall : MonoBehaviour {
bool gameStart;
void Start(){
gameStart=false;
}
void Update()
{
if (!gameStart){
if (Input.touchCount >=1) {
gameStart=true;
GetComponent<Rigidbody2D> ().AddForce (new Vector2 (1f, 0.5f) * force);
}
}
}
}
答案 2 :(得分:0)
修改ゴスエンヘンリ的回答。
public class movingBall : MonoBehaviour {
bool _gameStarted = false; // In the class but outside any function
void Update()
{
if (!_gameStarted ){
if (Input.GetMouseButtonDown(0)){ // It will work on mobile too.
_gameStarted = true;
GetComponent<Rigidbody2D> ().AddForce (new Vector2 (1f, 0.5f) * force);
}
}
}
}