private Keystate keyRight; //右 public Form1() { InitializeComponent(); keySpace = new Keystate(Keys.Space); keyUp = new Keystate(Keys.W); keyDown = new Keystate(Keys.S); keyLeft = new Keystate(Keys.A); keyRight = new Keystate(Keys.D); makeBulletTime = 0; mousePos = new Point(); makeMonsterTime = MAKE_MONSTER_TIME; wndGraphics = CreateGraphics(); //建立視窗畫布 backBmp = new Bitmap(VIEW_W, VIEW_H); //建立點陣圖 backGraphics = Graphics.FromImage(backBmp); //建立背景畫布 random = new Random(); vBullet = new Bullet[MAX_BULLET]; player = new Point();//產生一point物件 player.x = 460; player.y = 650; vMonster = new Point[MAX_ENEMY]; for (int i = 0; i < MAX_ENEMY; i++) { vMonster[i] = new Point(); vMonster[i].x = random.Next(0, VIEW_W); vMonster[i].y = random.Next(0, VIEW_H); } //timer1是計時器+Interval 多久叫一次 timer1.Interval = 1000 / (int)REQUIRE_FPS; timer1.Start(); }
protected void getInputKye(Keystate s) { s.up = false; s.down = false; s.right = false; s.left = false; s.atk1 = false; s.atk2 = false; s.atk3 = false; s.atk4 = false; s.sp1 = false; s.sp2 = false; s.up |= Input.GetKey(KeyCode.UpArrow); s.down = Input.GetKey(KeyCode.DownArrow); s.right = Input.GetKey(KeyCode.RightArrow); s.left = Input.GetKey(KeyCode.LeftArrow); s.atk1 = Input.GetKeyDown(KeyCode.S); s.atk2 = Input.GetKeyDown(KeyCode.A); s.atk3 = Input.GetKeyDown(KeyCode.Q); s.atk4 = Input.GetKeyDown(KeyCode.W); s.sp1 = Input.GetKeyDown(KeyCode.E); s.sp2 = Input.GetKeyDown(KeyCode.D); }
public void ta(Keystate keyinput) { checkSide (); now_step = next_step; next_step = STATE.NONE; float wazaX = 0.0f; float wazaY = 0.0f; float wazaZ = 0.0f; if (now_step == STATE.ATTACK) { actionTime += Time.deltaTime; if (actionTime < actionTimeLimit) { next_step = STATE.ATTACK; } } else if (now_step == STATE.JUMP) { if (onGround == false) { next_step = STATE.JUMP; } } else if (now_step == STATE.DASH_JUMP) { if (onGround == false) { next_step = STATE.DASH_JUMP; this.transform.Translate (this.keepMoving); }else{ this.keepMoving = Vector3.zero; } } else if (now_step == STATE.NORMAL || now_step == STATE.DASH) { if (keyinput.atk1) { if(setNext (STATE.ATTACK)){ GameObject g = GameObject.Instantiate (this.atk1) as GameObject; //g.transform.parent = this.transform; g.transform.position = this.transform.position; wazaX = 0.75f; wazaY = 0.5f; if(atLeft == false) wazaX *= -1; g.transform.Translate (new Vector3 (wazaX, wazaY, wazaZ)); actionTime = 0.0f; actionTimeLimit = 0.1f; } } if (keyinput.atk2) { if(setNext (STATE.ATTACK)){ GameObject g = GameObject.Instantiate (this.atk2) as GameObject; //g.transform.parent = this.transform; g.transform.position = this.transform.position; wazaX = 0.75f; wazaY = 0.5f; if(atLeft == false) wazaX *= -1; g.transform.Translate (new Vector3 (wazaX, wazaY, wazaZ)); actionTime = 0.0f; actionTimeLimit = 0.22f; } } if (keyinput.atk3) { if(setNext (STATE.ATTACK)){ GameObject g = GameObject.Instantiate (this.atk3) as GameObject; //g.transform.parent = this.transform; g.transform.position = this.transform.position; wazaX = 0.75f; wazaY = 0.5f; if(atLeft == false) wazaX *= -1; g.transform.Translate (new Vector3 (wazaX, wazaY, wazaZ)); actionTime = 0.0f; actionTimeLimit = 0.4f; } } if (keyinput.atk4) { if(setNext (STATE.ATTACK)){ GameObject g = GameObject.Instantiate (this.atk4) as GameObject; //g.transform.parent = this.transform; g.transform.position = this.transform.position; wazaX = 1.5f; wazaY = 1.5f; if(atLeft == false) wazaX *= -1; g.transform.Translate (new Vector3 (wazaX, wazaY, wazaZ)); actionTime = 0.0f; actionTimeLimit = 0.4f; } } if (keyinput.up == true) { if(setNext (STATE.JUMP)){ //this.transform.Translate (Vector3.up * Time.deltaTime * jumpPower); this.gameObject.GetComponent<Rigidbody>().AddForce(Vector3.up * jumpPower); onGround = false; if(now_step == STATE.DASH){ if(keyinput.right == true){ if(atLeft == true) this.keepMoving = (Vector3.forward * Time.deltaTime * moveSpeed * forwardSpeed); else this.keepMoving = (Vector3.back * Time.deltaTime * moveSpeed * backSpeed); next_step = STATE.DASH_JUMP; }else if(keyinput.left == true){ if(atLeft == true) this.keepMoving = (Vector3.back * Time.deltaTime * moveSpeed * backSpeed); else this.keepMoving = (Vector3.forward * Time.deltaTime * moveSpeed * forwardSpeed); next_step = STATE.DASH_JUMP; } } //Debug.Log ("Jump IN"); //this.rigidbody.velocity.Set (0.0f,10.0f,0.0f); //velocity.y = 10.0f; //this.rigidbody.velocity = velocity; //if(next_step == STATE.NONE)next_step = STATE.JUMP; } } if (keyinput.right == true) { if(setNext (STATE.DASH)){ if(atLeft == true) this.transform.Translate (Vector3.forward * Time.deltaTime * moveSpeed * forwardSpeed); else this.transform.Translate (Vector3.back * Time.deltaTime * moveSpeed * backSpeed); } } if (keyinput.left == true) { if(setNext (STATE.DASH)){ if(atLeft == true) this.transform.Translate (Vector3.back * Time.deltaTime * moveSpeed * backSpeed); else this.transform.Translate (Vector3.forward * Time.deltaTime * moveSpeed * forwardSpeed); } } } setNext (STATE.NORMAL); }
public void ta(Keystate keyinput) { checkSide(); now_step = next_step; next_step = STATE.NONE; float wazaX = 0.0f; float wazaY = 0.0f; float wazaZ = 0.0f; if (now_step == STATE.ATTACK) { actionTime += Time.deltaTime; if (actionTime < actionTimeLimit) { next_step = STATE.ATTACK; } } else if (now_step == STATE.JUMP) { if (onGround == false) { next_step = STATE.JUMP; } } else if (now_step == STATE.DASH_JUMP) { if (onGround == false) { next_step = STATE.DASH_JUMP; this.transform.Translate(this.keepMoving); } else { this.keepMoving = Vector3.zero; } } else if (now_step == STATE.NORMAL || now_step == STATE.DASH) { if (keyinput.atk1) { if (setNext(STATE.ATTACK)) { GameObject g = GameObject.Instantiate(this.atk1) as GameObject; //g.transform.parent = this.transform; g.transform.position = this.transform.position; wazaX = 0.75f; wazaY = 0.5f; if (atLeft == false) { wazaX *= -1; } g.transform.Translate(new Vector3(wazaX, wazaY, wazaZ)); actionTime = 0.0f; actionTimeLimit = 0.1f; } } if (keyinput.atk2) { if (setNext(STATE.ATTACK)) { GameObject g = GameObject.Instantiate(this.atk2) as GameObject; //g.transform.parent = this.transform; g.transform.position = this.transform.position; wazaX = 0.75f; wazaY = 0.5f; if (atLeft == false) { wazaX *= -1; } g.transform.Translate(new Vector3(wazaX, wazaY, wazaZ)); actionTime = 0.0f; actionTimeLimit = 0.22f; } } if (keyinput.atk3) { if (setNext(STATE.ATTACK)) { GameObject g = GameObject.Instantiate(this.atk3) as GameObject; //g.transform.parent = this.transform; g.transform.position = this.transform.position; wazaX = 0.75f; wazaY = 0.5f; if (atLeft == false) { wazaX *= -1; } g.transform.Translate(new Vector3(wazaX, wazaY, wazaZ)); actionTime = 0.0f; actionTimeLimit = 0.4f; } } if (keyinput.atk4) { if (setNext(STATE.ATTACK)) { GameObject g = GameObject.Instantiate(this.atk4) as GameObject; //g.transform.parent = this.transform; g.transform.position = this.transform.position; wazaX = 1.5f; wazaY = 1.5f; if (atLeft == false) { wazaX *= -1; } g.transform.Translate(new Vector3(wazaX, wazaY, wazaZ)); actionTime = 0.0f; actionTimeLimit = 0.4f; } } if (keyinput.up == true) { if (setNext(STATE.JUMP)) { //this.transform.Translate (Vector3.up * Time.deltaTime * jumpPower); this.gameObject.GetComponent <Rigidbody>().AddForce(Vector3.up * jumpPower); onGround = false; if (now_step == STATE.DASH) { if (keyinput.right == true) { if (atLeft == true) { this.keepMoving = (Vector3.forward * Time.deltaTime * moveSpeed * forwardSpeed); } else { this.keepMoving = (Vector3.back * Time.deltaTime * moveSpeed * backSpeed); } next_step = STATE.DASH_JUMP; } else if (keyinput.left == true) { if (atLeft == true) { this.keepMoving = (Vector3.back * Time.deltaTime * moveSpeed * backSpeed); } else { this.keepMoving = (Vector3.forward * Time.deltaTime * moveSpeed * forwardSpeed); } next_step = STATE.DASH_JUMP; } } //Debug.Log ("Jump IN"); //this.rigidbody.velocity.Set (0.0f,10.0f,0.0f); //velocity.y = 10.0f; //this.rigidbody.velocity = velocity; //if(next_step == STATE.NONE)next_step = STATE.JUMP; } } if (keyinput.right == true) { if (setNext(STATE.DASH)) { if (atLeft == true) { this.transform.Translate(Vector3.forward * Time.deltaTime * moveSpeed * forwardSpeed); } else { this.transform.Translate(Vector3.back * Time.deltaTime * moveSpeed * backSpeed); } } } if (keyinput.left == true) { if (setNext(STATE.DASH)) { if (atLeft == true) { this.transform.Translate(Vector3.back * Time.deltaTime * moveSpeed * backSpeed); } else { this.transform.Translate(Vector3.forward * Time.deltaTime * moveSpeed * forwardSpeed); } } } } setNext(STATE.NORMAL); }