Beispiel #1
0
        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();
        }
Beispiel #2
0
    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);
    }
Beispiel #3
0
    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);
    }
Beispiel #4
0
    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);
    }
Beispiel #5
0
    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);
    }