void PlayerLogicComponent::Update() { // J�t�kos ir�ny�t�sa: this->wantToMove = false; if( sf::Keyboard::isKeyPressed(sf::Keyboard::W) ) { if (TryToJump()) { SoundSystem::Instance()->FireSoundEvent("JUMP"); } } if ( sf::Keyboard::isKeyPressed(sf::Keyboard::A)) { this->wantToMove = true; facingLeft = true; } else if ( sf::Keyboard::isKeyPressed(sf::Keyboard::D)) { this->wantToMove = true; facingLeft = false; } //l�v�s a j�t�kossal if (sf::Keyboard::isKeyPressed(sf::Keyboard::J) || sf::Keyboard::isKeyPressed(sf::Keyboard::K)) { if ( sf::Keyboard::isKeyPressed(sf::Keyboard::J) ) { if ( framesLeftToShot <= 0 ) { shotBullet(sf::Vector2f(24.f,0.f), 0, 0); framesLeftToShot = 16; SoundSystem::Instance()->FireSoundEvent("SHOOT"); } } if ( sf::Keyboard::isKeyPressed(sf::Keyboard::K) ) { if ( framesLeftToShot <= 0 ) { for ( int i = 0; i<10; i++) shotBullet(sf::Vector2f(20.f,-10.f+(float)i*2), 0, 0); framesLeftToShot = 10; SoundSystem::Instance()->FireSoundEvent("SHOOT"); } } } framesLeftToShot--; DefaultUpdate(); }
void ShooterMonsterLogicComponent::Update() { const int framestoMove = 50; wantToMove = false; //Message msg; if ( timeShootAgain < 0 ) { shotBullet(sf::Vector2f(18.f,0.f),0,0); timeShootAgain = 25; } if ( timeToJump < 0 && canJump) { TryToJump(); timeToJump = 80; } if ( timeChangedFacing < 0) { framesstillMoving = framestoMove; timeChangedFacing = 90; facingLeft = !facingLeft; } if ( framesstillMoving > 0 ) { wantToMove = true; } timeChangedFacing--; timeShootAgain--; timeToJump--; framesstillMoving--; HumanoidLogicComponent::DefaultUpdate(); }
/* ARGSUSED3 */ void joystick(unsigned int buttons, int x, int y, int z) { if (buttons & 0x1) { thrust = 1; thrustTime = glutGet(GLUT_ELAPSED_TIME); joyThrust = 1; } else { if (joyThrust) { thrust = 0; joyThrust = 0; } } if (buttons & 0x2) { shotBullet(); } if (buttons & 0x4) { shield = 1; joyShield = 1; } else { if (joyShield) { shield = 0; joyShield = 0; } } if (x < -300) { left = 1; leftTime = glutGet(GLUT_ELAPSED_TIME); joyLeft = 1; } else { /* joyLeft helps avoid "joystick in neutral" from continually stopping rotation. */ if (joyLeft) { left = 0; joyLeft = 0; } } if (x > 300) { right = 1; rightTime = glutGet(GLUT_ELAPSED_TIME); joyRight = 1; } else { /* joyRight helps avoid "joystick in neutral" from continually stopping rotation. */ if (joyRight) { right = 0; joyRight = 0; } } }
void key(char key) { switch (key) { case 'q': exit(0); break; case 'k': thrust = 1; thrustTime = lastTime; //glutGet(GLUT_ELAPSED_TIME); break; case 'c': shield = 1; break; case 'z': x = 20; y = 20; xv = 0; yv = 0; break; case 'l': shotBullet(); break; case 't': glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_BLEND); glEnable(GL_LINE_SMOOTH); glEnable(GL_POINT_SMOOTH); break; case 'y': glDisable(GL_BLEND); glDisable(GL_LINE_SMOOTH); glDisable(GL_POINT_SMOOTH); break; case 'a': left = 1; leftTime = lastTime; // glutGet(GLUT_ELAPSED_TIME); break; case 's': right = 1; rightTime = lastTime; //glutGet(GLUT_ELAPSED_TIME); break; } }
/* ARGSUSED1 */ void key(unsigned char key, int px, int py) { switch (key) { case 27: exit(0); break; case 'A': case 'a': thrust = 1; thrustTime = glutGet(GLUT_ELAPSED_TIME); break; case 'S': case 's': shield = 1; break; case 'C': case 'c': cursor = !cursor; glutSetCursor( cursor ? GLUT_CURSOR_INHERIT : GLUT_CURSOR_NONE); break; case 'z': case 'Z': x = 20; y = 20; xv = 0; yv = 0; initRocks(); break; case 'd': glutGameModeString("1280x1024:32@60"); glutEnterGameMode(); initWindow(); break; case 'f': glutGameModeString("640x480:16@60"); glutEnterGameMode(); initWindow(); break; case 'g': glutGameModeString("800x600:16@60"); glutEnterGameMode(); initWindow(); break; case 'h': if (initialGameModeString) { glutGameModeString(initialGameModeString); glutEnterGameMode(); initWindow(); } break; case 'l': if (originalWindow != 0 && currentWindow != originalWindow) { glutLeaveGameMode(); currentWindow = originalWindow; } break; case 'P': case 'p': paused = !paused; if (paused) { glutIdleFunc(NULL); } else { glutIdleFunc(idle); resuming = 1; } break; case 'Q': case 'q': case ' ': shotBullet(); break; case 'i': printf("%dx%d+%d+%d of depth %d of format %d\n", glutGet(GLUT_WINDOW_WIDTH), glutGet(GLUT_WINDOW_HEIGHT), glutGet(GLUT_WINDOW_X), glutGet(GLUT_WINDOW_Y), glutGet(GLUT_WINDOW_BUFFER_SIZE), glutGet(GLUT_WINDOW_FORMAT_ID)); break; } }