0

私の単純な卓球ゲームでは、ユーザー スライダーが下に移動するたびに、スライダーも太くなります。明らかな場合は申し訳ありませんが、コードは次のとおりです。

         int motionup = 0;
         int moionright = -2;
         Rectangle bouncer1 = new Rectangle(0,0,10,100);
         Rectangle bouncer2 = new Rectangle(WINDOWWIDTH - 10, 0, 10, 100);
         Rectangle ball = new Rectangle(WINDOWWIDTH / 2, WINDOWHIGHT / 2, 10 , 10);

        public void timeHandle(){
                switch(state){
                case Game:
                        bouncer1.setY(bouncer1.getY() + motionup);
                        bouncer1.translate(0, motionup);
                        //bouncer1.setWidth(10);
                        motionup = 0;
                        break;
                }
        }

        public void keyHandle(){
                switch(state){
                case Game:
                        if(Keyboard.isKeyDown(Keyboard.KEY_ESCAPE)){
                                state = Stater.Menu;
                                this.esc = true;
                        } else if(isKeyDown(KEY_DOWN) && bouncer1.getY() != WINDOWHIGHT - bouncer1.getHeight()){
                                if(true){
                                        motionup += 1;
                                }
                        } else if(isKeyDown(KEY_UP) && bouncer1.getY() != 0){
                                motionup -= 1;
                        }
                        break;
                }
        }
        public void render(){
                switch(state){
                case Game:
                        float b1Y = bouncer1.getY();
                        float b1X = bouncer1.getX();
                        float b2Y = bouncer2.getY();
                        float b2X = bouncer2.getX();
                        glColor3f(0f, 0f, 1.0f);
                        glRectf(0f, 0f, WINDOWWIDTH, WINDOWHIGHT);
                        glColor3f(1f, 1f, 1f);
                        glRectf(b1Y, b1Y, b1X + bouncer1.getWidth(), b1Y + bouncer1.getHeight());
                        glRectf(b2X, b2Y, b2X + bouncer2.getWidth(), b2Y + bouncer2.getHeight());
                        glRectf(ball.getX(), ball.getY(), ball.getX() + ball.getWidth(), ball.getY() + ball.getHeight());
                        break;
                }
        }
                    public static void main(String[] args) {

                Pong a = new Pong();
                a.LWJGLhelloa();

        }
}

Rectangle クラスを使用してデータを保持し、点を含む glrectf を使用して四角形を描画します。他の間違い/悪いコードを自由に修正してください。

4

1 に答える 1

0

OK、それはばかげた間違いでした。誰も気付かなかったことに驚いています。getY() の代わりに getX() を入れました。

于 2013-09-19T16:13:05.740 に答える