$mouseTouchCount = 0; $Player1MouseUp = true; $Player1MouseDown = false; $Player1Moving = false; Player1Image.enableUpdateCallback(); function Player1Map::onMouseDown(%this, %modifier, %worldPosition, %clicks) { if ($Player1MouseDown) { // visual display of touch point %tempFinger = new t2dStaticSprite() { imageMap = "movementImageMap"; }; %vector = t2dVectorSub(%worldPosition, Player1Image.getPosition()); %targetRotation = mRadToDeg(mAtan(%vector.y, %vector.x)) + %this.rotationOffset; Player1Image.rotateTo(%targetRotation, 400, true, false, true, 0.1); Player1Image.moveTo(%worldPosition, 20, true, true, false, 0.1); $temprotation1 = %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 Player1Map::onMouseDragged(%this, %modifier, %worldPosition, %clicks) { if ($Player1MouseDown) { // visual display of touch point %tempFinger = new t2dStaticSprite() { imageMap = "movementImageMap"; }; Player1Image.moveTo(%worldPosition, 20, true, true, false, 0.1); %vector = t2dVectorSub(%worldPosition, Player1Image.getPosition()); %targetRotation = mRadToDeg(mAtan(%vector.y, %vector.x)) + %this.rotationOffset; Player1Image.rotateTo(%targetRotation, 400, true, false, true, 0.1); $temprotation1 = %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 ($p1CurrentWeapon == 3) { if (VectorDist(%worldPosition, p1FireButton.getPosition()) > 5) { alxStop($PowerUpHandle); $speedmultiplier1 = $duration1; $duration1 = 0; powerBar1.setSize(0,4); powerBar1.setPosition(powerBarHolder1.getPosition()); $p1fireButtonPressed = 0; $p1Cannon.setTimerOff(); } } if ($p1currentWeapon == 4) { if (VectorDist(%worldPosition,$p1grenade.getPosition()) > 3) { alxStop($PowerUpHandle); $speedmultiplier1 = $duration1; $duration1 = 0; powerBar1.setSize(0,4); powerBar1.setPosition(powerBarHolder1.getPosition()); $p1grenadeClicked = 0; $p1grenade.setSize(35,35); $p1Grenade.setTimerOff(); } } } function Player1Map::onMouseUp(%this, %modifier, %worldPosition, %clicks) { //for heli controls //pheliStick1.setPosition(pheliBracket1.getPositionX(), pheliBracket1.getPositionY()); //Player1Copter.setLinearVelocityX(0); //Player1Copter.setLinearVelocityY(0); $mouseTouchStartingPoint[$mouseTouchCount].Delete(); $mouseTouchCount++; if($Player1MouseDown) { Player1Image.moveTo(%worldPosition, 20, true, true, false, 0.1); %vector = t2dVectorSub(%worldPosition, Player1Image.getPosition()); %targetRotation = mRadToDeg(mAtan(%vector.y, %vector.x)) + %this.rotationOffset; Player1Image.rotateTo(%targetRotation, 400, true, false, true, 0.1); $temprotation1 = %targetRotation; $Player1Moving = false; $Player1MouseDown = false; $Player1MouseUp = true; } } function Player1Image::onMouseDown(%this, %modifier, %worldPosition, %clicks) { if (!isObject(sceneWindow2d)) return; playmonkeysoundrandom(); if($Player1Moving) { %this.moveTo(%worldPosition, 1500, true, true, false, 0.1); } $Player1MouseDown = true; $Player1MouseUp = false; $Player1Moving = true; %this.moveTo(%worldPosition, 20, true, true, false, 0.1); // %vector = t2dVectorSub(%worldPosition, Player1Image.getPosition()); // %targetRotation = mRadToDeg(mAtan(%vector.y, %vector.x)) + %this.rotationOffset; // Player1Image.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 Player1Image::onMouseDragged(%this, %modifier, %worldPosition, %clicks) { if (!isObject(sceneWindow2d)) return; $Player1MouseUp = false; $Player1Moving = true; if($Player1MouseDown) { %this.moveTo(%worldPosition, 20, true, true, false, 0.1); %vector = t2dVectorSub(%worldPosition, Player1Image.getPosition()); %targetRotation = mRadToDeg(mAtan(%vector.y, %vector.x)) + %this.rotationOffset; Player1Image.rotateTo(%targetRotation, 400, true, false, true, 0.1); $temprotation1 = %targetRotation; %tempFinger = new t2dStaticSprite() { imageMap = "movementImageMap"; }; %tempFinger.setSize(5 SPC 5); %tempFinger.addToScene(sceneWindow2D.getSceneGraph()); %tempFinger.setPosition(%worldPosition); %tempFinger.setLifetime(0.8); } } function Player1Image::onMouseUp(%this, %modifier, %worldPosition, %clicks) { $Player1MouseDown = false; $Player1MouseUp = true; // %this.moveTo(%worldPosition, 20, true, true, false, 0.1); } function Player1Image:: onUpdate(%this) { if ($p1CurrentWeapon == 3 || $p1CurrentWeapon == 4) { powerBarHolder1.setRotation($temprotation1); powerBar1.setRotation($temprotation1); if ($p1fireButtonPressed == 0 && $p1grenadeClicked == 0) { powerBar1.setPosition(powerBarHolder1.getPosition()); } } //echo("here"); if (%this.getLinearVelocity() !=0)//$Player1MouseDown && $Player1Moving && !$Player1MouseUp) { //echo("velocity not zero"); //%this.setAnimation("monkeyWalkingAnimation"); //Player1Image.playAnimation("monkeyStandingAnimation", false, -1, false); } else { //echo("velocity zero"); //%this.setAnimation("monkeyWalkAnimation"); Player1Image.playAnimation("monkeyWalkAnimation", false, 0, false); } }