$mouseTouchCount = 0; $Player2MouseUp = true; $Player2MouseDown = false; $Player2Moving = false; Player2Image.enableUpdateCallback(); function Player2Map::onMouseDown(%this, %modifier, %worldPosition, %clicks) { if ($Player2MouseDown) { // visual display of touch point %tempFinger = new t2dStaticSprite() { imageMap = "movementImageMap"; }; %vector = t2dVectorSub(%worldPosition, Player2Image.getPosition()); %targetRotation = mRadToDeg(mAtan(%vector.y, %vector.x)) + %this.rotationOffset; Player2Image.rotateTo(%targetRotation, 400, true, false, true, 0.1); Player2Image.moveTo(%worldPosition, 20, true, true, false, 0.1); $temprotation2 = %targetRotation; } else { // visual display of touch point %tempFinger = new t2dStaticSprite() { imageMap = "nomovementImageMap"; }; } %tempFinger.setSize(5 SPC 5); %tempFinger.addToScene(sceneWindow2D.getSceneGraph()); %tempFinger.setPosition(%worldPosition); %tempFinger.setLifetime(0.8); //set starting point of mouse event $mouseTouchStartingPoint[$mouseTouchCount] = new ScriptObject(){ point = %worldPosition; }; } function Player2Map::onMouseDragged(%this, %modifier, %worldPosition, %clicks) { if ($Player2MouseDown) { // visual display of touch point %tempFinger = new t2dStaticSprite() { imageMap = "movementImageMap"; }; Player2Image.moveTo(%worldPosition, 20, true, true, false, 0.1); %vector = t2dVectorSub(%worldPosition, Player2Image.getPosition()); %targetRotation = mRadToDeg(mAtan(%vector.y, %vector.x)) + %this.rotationOffset; Player2Image.rotateTo(%targetRotation, 400, true, false, true, 0.1); $temprotation2 = %targetRotation; } else { // visual display of touch point %tempFinger = new t2dStaticSprite() { imageMap = "nomovementImageMap"; }; } %tempFinger.setSize(5 SPC 5); %tempFinger.addToScene(sceneWindow2D.getSceneGraph()); %tempFinger.setPosition(%worldPosition); %tempFinger.setLifetime(0.8); if ($p2CurrentWeapon == 3) { if (VectorDist(%worldPosition, p2FireButton.getPosition()) > 5) { alxStop($PowerUpHandle); $speedmultiplier2 = $duration2; $duration2 = 0; powerBar2.setSize(0,4); powerBar2.setPosition(powerBarHolder2.getPosition()); $p2fireButtonPressed = 0; $p2Cannon.setTimerOff(); } } if ($p2CurrentWeapon == 4) { if (VectorDist(%worldPosition,$p2grenade.getPosition()) > 3) { alxStop($PowerUpHandle); $speedmultiplier2 = $duration2; $duration2 = 0; powerBar2.setSize(0,4); powerBar2.setPosition(powerBarHolder2.getPosition()); $p2grenadeClicked = 0; $p2grenade.setSize(35,35); $p2Grenade.setTimerOff(); } } } function Player2Map::onMouseUp(%this, %modifier, %worldPosition, %clicks) { $mouseTouchStartingPoint[$mouseTouchCount].Delete(); $mouseTouchCount++; //for heli controls //pheliStick2.setPosition(pheliBracket2.getPositionX(), pheliBracket2.getPositionY()); //Player2Copter.setLinearVelocityX(0); //Player2Copter.setLinearVelocityY(0); if($Player2MouseDown) { Player2Image.moveTo(%worldPosition, 20, true, true, false, 0.1); %vector = t2dVectorSub(%worldPosition, Player2Image.getPosition()); %targetRotation = mRadToDeg(mAtan(%vector.y, %vector.x)) + %this.rotationOffset; Player2Image.rotateTo(%targetRotation, 400, true, false, true, 0.1); $temprotation2 = %targetRotation; $Player2Moving = false; $Player2MouseDown = false; $Player2MouseUp = true; } } function Player2Image::onMouseDown(%this, %modifier, %worldPosition, %clicks) { if (!isObject(sceneWindow2d)) return; if($Player2Moving) { %this.moveTo(%worldPosition, 1500, true, true, false, 0.1); } playmonkeysoundrandom(); $Player2MouseDown = true; $Player2MouseUp = false; $Player2Moving = true; %this.moveTo(%worldPosition, 20, true, true, false, 0.1); // %vector = t2dVectorSub(%worldPosition, Player2Image.getPosition()); // %targetRotation = mRadToDeg(mAtan(%vector.y, %vector.x)) + %this.rotationOffset; // Player2Image.rotateTo(%targetRotation, 400, true, false, true, 0.1); %tempFinger = new t2dStaticSprite() { imageMap = "movementImageMap"; }; %tempFinger.setSize(5 SPC 5); %tempFinger.addToScene(sceneWindow2D.getSceneGraph()); %tempFinger.setPosition(%worldPosition); %tempFinger.setLifetime(0.8); } function Player2Image::onMouseDragged(%this, %modifier, %worldPosition, %clicks) { if (!isObject(sceneWindow2d)) return; $Player2MouseUp = false; $Player2Moving = true; if($Player2MouseDown) { %this.moveTo(%worldPosition, 20, true, true, false, 0.1); %vector = t2dVectorSub(%worldPosition, Player2Image.getPosition()); %targetRotation = mRadToDeg(mAtan(%vector.y, %vector.x)) + %this.rotationOffset; Player2Image.rotateTo(%targetRotation, 400, true, false, true, 0.1); $temprotation2 = %targetRotation; %tempFinger = new t2dStaticSprite() { imageMap = "movementImageMap"; }; %tempFinger.setSize(5 SPC 5); %tempFinger.addToScene(sceneWindow2D.getSceneGraph()); %tempFinger.setPosition(%worldPosition); %tempFinger.setLifetime(0.8); } } function Player2Image::onMouseUp(%this, %modifier, %worldPosition, %clicks) { $Player2MouseDown = false; $Player2MouseUp = true; // %this.moveTo(%worldPosition, 20, true, true, false, 0.1); } function Player2Image:: onUpdate(%this) { if ($p2CurrentWeapon == 3 || $p2CurrentWeapon == 4) { powerBarHolder2.setRotation($temprotation2); powerBar2.setRotation($temprotation2); if ($p2fireButtonPressed == 0 && $p2grenadeClicked == 0) { powerBar2.setPosition(powerBarHolder2.getPosition()); } } //echo("here"); if (%this.getLinearVelocity() !=0 )//$Player2MouseDown && $Player2Moving && !$Player2MouseUp) { //echo("velocity not zero"); //%this.setAnimation("monkeyWalkAnimation"); //Player2Image.playAnimation("monkeyStandingAnimation", false, -1, false); } else { //echo("velocity zero"); %this.setAnimation("monkeyWalkAnimation"); //Player2Image.playAnimation("monkeyWalkAnimation", false, 0, false); } }