function Player1CopterSpawn() { alxStop($Player1HeliHoverHandle); $Player1HeliHoverHandle = alxPlay(HeliHover); Player1Copter.moveRight = true; Player1Copter.updateMovement(); schedule(1500 ,0, enablePlayer1CopterControls); schedule(20000,0, Player1CopterRemove); } function Player1CopterRemove() { disablePlayer1CopterControls(); Player1Copter.MoveRight = true; Player1Copter.updateMovement(); schedule(11000,0,Player1CopterReset); } function Player1CopterReset() { alxStop($Player1HeliHoverHandle); Player1Copter.setPosition(-184.177, -19.177); Player1Copter.moveRight = false; Player1Copter.moveLeft =false; Player1Copter.moveUp = false; Player1Copter.moveDown = false; Player1Copter.updateMovement(); } function enablePlayer1CopterControls() { // Player1CopterControlOverlay.setPosition(-144.272,-93.165); // Player1Copter.moveRight = false; // Player1Copter.updateMovement(); // Player1CopterUp.setUseMouseEvents(true); // Player1CopterUp.setUseTouchEvents(true); // Player1CopterDown.setUseMouseEvents(true); // Player1CopterDown.setUseTouchEvents(true); // Player1CopterLeft.setUseMouseEvents(true); // Player1CopterLeft.setUseTouchEvents(true); // Player1CopterRight.setUseMouseEvents(true); // Player1CopterRight.setUseTouchEvents(true); // Player1CopterfireButton.setUseMouseEvents(true); // Player1CopterfireButton.setUseTouchEvents(true); } function disablePlayer1CopterControls() { // Player1CopterControlOverlay.setPosition(-133.221,159.326); // Player1CopterUp.setUseMouseEvents(false); // Player1CopterUp.setUseTouchEvents(false); // Player1CopterDown.setUseMouseEvents(false); // Player1CopterDown.setUseTouchEvents(false); // Player1CopterLeft.setUseMouseEvents(false); // Player1CopterLeft.setUseTouchEvents(false); // Player1CopterRight.setUseMouseEvents(false); // Player1CopterRight.setUseTouchEvents(false); // Player1CopterfireButton.setUseMouseEvents(false); // Player1CopterfireButton.setUseTouchEvents(false); } function Player1Copter::onLevelLoaded(%this, %scenegraph) { // Store a reference to the player's Copter in a global variable $Player1Copter = %this; disablePlayer1CopterControls(); moveMap.bindCmd(keyboard, "w", "Player1Copter.Player1CopterUp();", "Player1Copter.Player1CopterUpStop();"); moveMap.bindCmd(keyboard, "s", "Player1Copter.Player1CopterDown();", "Player1Copter.Player1CopterDownStop();"); moveMap.bindCmd(keyboard, "a", "Player1Copter.Player1CopterLeft();", "Player1Copter.Player1CopterLeftStop();"); moveMap.bindCmd(keyboard, "d", "Player1Copter.Player1CopterRight();", "Player1Copter.Player1CopterRightStop();"); moveMap.bindCmd(keyboard, "space", "$Player1Copter.createMissile();", ""); } $Player1CopterMoving = false; //up function Player1CopterUp:: onTouchDown(%this,%event) { Player1Copter.Player1CopterUp(); $Player1CopterMoving = true; } function Player1CopterUp:: onTouchUp(%this,%event) { Player1Copter.Player1CopterUpStop(); $Player1CopterMoving = false; } function Player1CopterUp:: onMouseDown(%this, %modifier, %worldPosition, %clicks) { Player1Copter.Player1CopterUp(); $Player1CopterMoving = true; } function Player1CopterUp:: onMouseUp(%this, %modifier, %worldPosition, %clicks) { Player1Copter.Player1CopterUpStop(); $Player1CopterMoving = false; } //down function Player1CopterDown:: onMouseDown(%this, %modifier, %worldPosition, %clicks) { Player1Copter.Player1CopterDown(); $Player1CopterMoving = true; } function Player1CopterDown:: onMouseUp(%this, %modifier, %worldPosition, %clicks) { Player1Copter.Player1CopterDownStop(); $Player1CopterMoving = false; } function Player1CopterDown:: onTouchDown(%this,%event) { Player1Copter.Player1CopterDown(); $Player1CopterMoving = true; } function Player1CopterDown:: onTouchUp(%this,%event) { Player1Copter.Player1CopterDownStop(); $Player1CopterMoving = false; } //left function Player1CopterLeft:: onMouseDown(%this, %modifier, %worldPosition, %clicks) { Player1Copter.Player1CopterLeft(); $Player1CopterMoving = true; } function Player1CopterLeft:: onMouseUp(%this, %modifier, %worldPosition, %clicks) { Player1Copter.Player1CopterLeftStop(); $Player1CopterMoving = false; } function Player1CopterLeft:: onTouchDown(%this,%event) { Player1Copter.Player1CopterLeft(); $Player1CopterMoving = true; } function Player1CopterLeft:: onTouchUp(%this,%event) { Player1Copter.Player1CopterLeftStop(); $Player1CopterMoving = false; } //right function Player1CopterRight:: onMouseDown(%this, %modifier, %worldPosition, %clicks) { Player1Copter.Player1CopterRight(); $Player1CopterMoving = true; } function Player1CopterRight:: onMouseUp(%this, %modifier, %worldPosition, %clicks) { Player1Copter.Player1CopterRightStop(); $Player1CopterMoving = false; } function Player1CopterRight:: onTouchDown(%this,%event) { Player1Copter.Player1CopterRight(); $Player1CopterMoving = true; } function Player1CopterRight:: onTouchUp(%this,%event) { Player1Copter.Player1CopterRightStop(); $Player1CopterMoving = false; } //fire function Player1CopterfireButton:: onMouseDown(%this, %modifier, %worldPosition, %clicks) { Player1Copter.createMissile(); %this.setImageMap(fire_buttonClickedImageMap); $Player1FireButtonActive = true; } function Player1CopterfireButton:: onMouseUp(%this, %modifier, %worldPosition, %clicks) { %this.setImageMap(fire_buttonImageMap); $Player1FireButtonActive = false; } function Player1CopterfireButton:: onTouchDown(%this,%event) { Player1Copter.createMissile(); %this.setImageMap(fire_buttonClickedImageMap); $Player1FireButtonActive = true; } function Player1CopterfireButton:: onTouchUp(%this,%event) { %this.setImageMap(fire_buttonImageMap); $Player1FireButtonActive = false; } //stray out of button function player1CopterControlOverlay:: onMouseDragged(%this, %modifier, %worldPosition, %clicks) { if($Player1CopterMoving) { Player1Copter.moveUp = false; Player1Copter.moveDown = false; Player1Copter.moveLeft = false; Player1Copter.moveRight = false; Player1Copter.updateMovement(); } if($Player1FireButtonActive) { $Player1FireButtonActive = false; Player1CopterfireButton.setImageMap(fire_buttonImageMap); } } function player1CopterControlOverlay:: onTouchMove(%this, %event) { if($Player1CopterMoving) { Player1Copter.moveUp = false; Player1Copter.moveDown = false; Player1Copter.moveLeft = false; Player1Copter.moveRight = false; Player1Copter.updateMovement(); } if($Player1FireButtonActive) { $Player1FireButtonActive = false; Player1CopterfireButton.setImageMap(fire_buttonImageMap); } } function Player1Copter::updateMovement(%this) { if(%this.moveLeft) { %this.setLinearVelocityX( -$Player1Copter.hSpeed ); } if(%this.moveRight) { %this.setLinearVelocityX( $Player1Copter.hSpeed ); } if(%this.moveUp) { %this.setLinearVelocityY( -$Player1Copter.vSpeed ); } if(%this.moveDown) { %this.setLinearVelocityY( $Player1Copter.vSpeed ); } if(!%this.moveLeft && !%this.moveRight) { %this.setLinearVelocityX( 0 ); } if(!%this.moveUp && !%this.moveDown) { %this.setLinearVelocityY( 0 ); } } function Player1Copter:: Player1CopterUp() { Player1Copter.moveUp = true; Player1Copter.updateMovement(); } function Player1Copter::Player1CopterDown() { Player1Copter.moveDown = true; Player1Copter.updateMovement(); } function Player1Copter::Player1CopterLeft() { Player1Copter.moveLeft = true; Player1Copter.updateMovement(); } function Player1Copter::Player1CopterRight() { Player1Copter.moveRight = true; Player1Copter.updateMovement(); } function Player1Copter::Player1CopterLeftStop() { Player1Copter.moveLeft = false; Player1Copter.updateMovement(); } function Player1Copter::Player1CopterRightStop() { Player1Copter.moveRight = false; Player1Copter.updateMovement(); } function Player1Copter::Player1CopterUpStop() { Player1Copter.moveUp = false; Player1Copter.updateMovement(); } function Player1Copter::Player1CopterDownStop() { Player1Copter.moveDown = false; Player1Copter.updateMovement(); }