function Player2CopterSpawn() { alxStop($Player2HeliHoverHandle); $Player2HeliHoverHandle = alxPlay(HeliHover); Player2Copter.moveLeft = true; Player2Copter.updateMovement(); schedule(1500 ,0, enablePlayer2CopterControls); schedule(20000,0,Player2CopterRemove); } function Player2CopterRemove() { disablePlayer2CopterControls(); Player2Copter.MoveLeft = true; Player2Copter.updateMovement(); schedule(11000,0,Player2CopterReset); } function Player2CopterReset() { alxStop($Player2HeliHoverHandle); Player2Copter.setPosition(184.177, -14.177); Player2Copter.moveRight = false; Player2Copter.moveLeft =false; Player2Copter.moveUp = false; Player2Copter.moveDown = false; Player2Copter.updateMovement(); } function enablePlayer2CopterControls() { Player2CopterControlOverlay.setPosition(144.326,91.780); Player2Copter.moveLeft = false; Player2Copter.updateMovement(); Player2CopterUp.setUseMouseEvents(true); Player2CopterUp.setUseTouchEvents(true); Player2CopterDown.setUseMouseEvents(true); Player2CopterDown.setUseTouchEvents(true); Player2CopterLeft.setUseMouseEvents(true); Player2CopterLeft.setUseTouchEvents(true); Player2CopterRight.setUseMouseEvents(true); Player2CopterRight.setUseTouchEvents(true); Player2CopterfireButton.setUseMouseEvents(true); Player2CopterfireButton.setUseTouchEvents(true); } function disablePlayer2CopterControls() { Player2CopterControlOverlay.setPosition(133.16,156.529); Player2CopterUp.setUseMouseEvents(false); Player2CopterUp.setUseTouchEvents(false); Player2CopterDown.setUseMouseEvents(false); Player2CopterDown.setUseTouchEvents(false); Player2CopterLeft.setUseMouseEvents(false); Player2CopterLeft.setUseTouchEvents(false); Player2CopterRight.setUseMouseEvents(false); Player2CopterRight.setUseTouchEvents(false); Player2CopterfireButton.setUseMouseEvents(false); Player2CopterfireButton.setUseTouchEvents(false); } function Player2Copter::onLevelLoaded(%this, %scenegraph) { // Store a reference to the player's Copter in a global variable $Player2Copter = %this; moveMap.bindCmd(keyboard, "up", "Player2Copter.Player2CopterUp();", "Player2Copter.Player2CopterUpStop();"); moveMap.bindCmd(keyboard, "down", "Player2Copter.Player2CopterDown();", "Player2Copter.Player2CopterDownStop();"); moveMap.bindCmd(keyboard, "left", "Player2Copter.Player2CopterLeft();", "Player2Copter.Player2CopterLeftStop();"); moveMap.bindCmd(keyboard, "right", "Player2Copter.Player2CopterRight();", "Player2Copter.Player2CopterRightStop();"); moveMap.bindCmd(keyboard, "enter", "$Player2Copter.createMissile();", ""); } $Player2CopterMoving = false; //up function Player2CopterUp:: onTouchDown(%this,%event) { Player2Copter.Player2CopterUp(); $Player2CopterMoving = true; } function Player2CopterUp:: onTouchUp(%this,%event) { Player2Copter.Player2CopterUpStop(); $Player2CopterMoving = false; } function Player2CopterUp:: onMouseDown(%this, %modifier, %worldPosition, %clicks) { Player2Copter.Player2CopterUp(); $Player2CopterMoving = true; } function Player2CopterUp:: onMouseUp(%this, %modifier, %worldPosition, %clicks) { Player2Copter.Player2CopterUpStop(); $Player2CopterMoving = false; } //down function Player2CopterDown:: onMouseDown(%this, %modifier, %worldPosition, %clicks) { Player2Copter.Player2CopterDown(); $Player2CopterMoving = true; } function Player2CopterDown:: onMouseUp(%this, %modifier, %worldPosition, %clicks) { Player2Copter.Player2CopterDownStop(); $Player2CopterMoving = false; } function Player2CopterDown:: onTouchDown(%this,%event) { Player2Copter.Player2CopterDown(); $Player2CopterMoving = true; } function Player2CopterDown:: onTouchUp(%this,%event) { Player2Copter.Player2CopterDownStop(); $Player2CopterMoving = false; } //left function Player2CopterLeft:: onMouseDown(%this, %modifier, %worldPosition, %clicks) { Player2Copter.Player2CopterLeft(); $Player2CopterMoving = true; } function Player2CopterLeft:: onMouseUp(%this, %modifier, %worldPosition, %clicks) { Player2Copter.Player2CopterLeftStop(); $Player2CopterMoving = false; } function Player2CopterLeft:: onTouchDown(%this,%event) { Player2Copter.Player2CopterLeft(); $Player2CopterMoving = true; } function Player2CopterLeft:: onTouchUp(%this,%event) { Player2Copter.Player2CopterLeftStop(); $Player2CopterMoving = false; } //right function Player2CopterRight:: onMouseDown(%this, %modifier, %worldPosition, %clicks) { Player2Copter.Player2CopterRight(); $Player2CopterMoving = true; } function Player2CopterRight:: onMouseUp(%this, %modifier, %worldPosition, %clicks) { Player2Copter.Player2CopterRightStop(); $Player2CopterMoving = false; } function Player2CopterRight:: onTouchDown(%this,%event) { Player2Copter.Player2CopterRight(); $Player2CopterMoving = true; } function Player2CopterRight:: onTouchUp(%this,%event) { Player2Copter.Player2CopterRightStop(); $Player2CopterMoving = false; } //stray out of buttons function Player2CopterControlOverlay:: onMouseDragged(%this, %modifier, %worldPosition, %clicks) { if($Player2CopterMoving) { Player2Copter.moveUp = false; Player2Copter.moveDown = false; Player2Copter.moveLeft = false; Player2Copter.moveRight = false; Player2Copter.updateMovement(); } if($Player2FireButtonActive) { $Player2FireButtonActive = false; Player2CopterfireButton.setImageMap(fire_buttonImageMap); } } function Player2CopterControlOverlay:: onTouchMove(%this, %event) { if($Player2CopterMoving) { Player2Copter.moveUp = false; Player2Copter.moveDown = false; Player2Copter.moveLeft = false; Player2Copter.moveRight = false; Player2Copter.updateMovement(); } if($Player2FireButtonActive) { $Player2FireButtonActive = false; Player2CopterfireButton.setImageMap(fire_buttonImageMap); } } //fire function Player2CopterfireButton:: onMouseDown(%this, %modifier, %worldPosition, %clicks) { Player2Copter.createMissile(); %this.setImageMap(fire_buttonClickedImageMap); $Player2FireButtonActive = true; } function Player2CopterfireButton:: onMouseUp(%this, %modifier, %worldPosition, %clicks) { %this.setImageMap(fire_buttonImageMap); $Player2FireButtonActive = false; } function Player2CopterfireButton:: onTouchDown(%this,%event) { Player2Copter.createMissile(); %this.setImageMap(fire_buttonClickedImageMap); $Player2FireButtonActive = true; } function Player2CopterfireButton:: onTouchUp(%this,%event) { %this.setImageMap(fire_buttonImageMap); $Player2FireButtonActive = false; } function Player2Copter::updateMovement(%this) { if(%this.moveLeft) { %this.setLinearVelocityX( -$Player2Copter.hSpeed ); } if(%this.moveRight) { %this.setLinearVelocityX( $Player2Copter.hSpeed ); } if(%this.moveUp) { %this.setLinearVelocityY( -$Player2Copter.vSpeed ); } if(%this.moveDown) { %this.setLinearVelocityY( $Player2Copter.vSpeed ); } if(!%this.moveLeft && !%this.moveRight) { %this.setLinearVelocityX( 0 ); } if(!%this.moveUp && !%this.moveDown) { %this.setLinearVelocityY( 0 ); } } function Player2Copter:: Player2CopterUp() { Player2Copter.moveUp = true; Player2Copter.updateMovement(); } function Player2Copter::Player2CopterDown() { Player2Copter.moveDown = true; Player2Copter.updateMovement(); } function Player2Copter::Player2CopterLeft() { Player2Copter.moveLeft = true; Player2Copter.updateMovement(); } function Player2Copter::Player2CopterRight() { Player2Copter.moveRight = true; Player2Copter.updateMovement(); } function Player2Copter::Player2CopterLeftStop() { Player2Copter.moveLeft = false; Player2Copter.updateMovement(); } function Player2Copter::Player2CopterRightStop() { Player2Copter.moveRight = false; Player2Copter.updateMovement(); } function Player2Copter::Player2CopterUpStop() { Player2Copter.moveUp = false; Player2Copter.updateMovement(); } function Player2Copter::Player2CopterDownStop() { Player2Copter.moveDown = false; Player2Copter.updateMovement(); } function Player2Copter::createMissile(%this) { alxStop($copterbombhandle); %this.playerMissile = new t2dStaticSprite() { scenegraph = %this.scenegraph; class = CopterBomb; missileSpdYMin=%this.missileSpdYMin; missileSpdYMax=%this.missileSpdYMax; missileSpdXMin=%this.missileSpdXMin; missileSpdXMax=%this.missileSpdXMax; player = %this; }; %this.playerMissile.fire(); $copterbombhandle = alxPlay(BombDrop); }