私は簡単なポンゲームを持っていますが、エスケープキーを押してゲームを一時停止しても、ユーザーはパドルを左右に動かすことができます。ゲームはタッチを伴うモバイルゲームです。ゲームが一時停止しているときにもパドルが動かないようにするにはどうすればよいですか?
これが役立つ場合の私のパドルのコードは次のとおりです。
private var ray : Ray;
private var hit : RaycastHit;
function Start () {
}
function Update () {
if(Input.GetMouseButton(0)){
ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if(Physics.Raycast(ray, hit)){
transform.position.x = hit.point.x;
}
}
}
これが私の一時停止スクリプトです:
var gamePaused : boolean = false;
var back : Texture2D;
var GUIskin:GUISkin;
var ClickSound:AudioClip;
function Start(){
Time.timeScale=1;
gamePaused = false;
gameObject.GetComponent(PauseMenu).enabled = false;
}
function OnGUI(){
GUI.skin = GUIskin;
GUI.Box (Rect (Screen.width - 550,Screen.height - 700,400,200), back);
if(GUI.Button(new Rect(Screen.width - 510,Screen.height - 615,120,80), "Main Menu")) {
Application.LoadLevel("Menu");
audio.PlayOneShot(ClickSound);
}
if(GUI.Button(new Rect(Screen.width - 310,Screen.height - 615,120,80), "Quit")) {
audio.PlayOneShot(ClickSound);
Application.Quit();
}
}
また、これが私の一時停止コントローラーです。
private var gamePaused : boolean = false;
function Update () {
if(Input.GetKeyDown(KeyCode.Escape)){
if(gamePaused){
Time.timeScale=1;
gamePaused = false;
gameObject.GetComponent(PauseMenu).enabled = false;
}
else{
Time.timeScale = 0;
gamePaused = true;
gameObject.GetComponent(PauseMenu).enabled = true;
}
}
}