$Player2TouchUp = true; $Player2TouchDown = false; $Player2TouchMoving = false; function Player2Map::onTouchDown(%this, %event) { // FIXME: if top-left corner, do not responde if (t2dVectorCompare(%event.point, 0 SPC 0, 0)) { return; } if ($Player2TouchDown) { // visual display of touch point %tempFinger = new t2dStaticSprite() { imageMap = "movementImageMap"; }; %vector = t2dVectorSub(%event.point, Player2Image.getPosition()); %targetRotation = mRadToDeg(mAtan(%vector.y, %vector.x)) + %this.rotationOffset; Player2Image.rotateTo(%targetRotation, 400, true, false, true, 0.1); Player2Image.moveTo(%event.point, 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(%event.point); %tempFinger.setLifetime(0.8); //set starting point of mouse event $screenTouchStartingPoint[%event.id] = new ScriptObject(){ point = %event.point; }; } function Player2Map::onTouchMove(%this, %event) { if ($Player2TouchDown) { // visual display of touch point %tempFinger = new t2dStaticSprite() { imageMap = "movementImageMap"; }; Player2Image.moveTo(%event.point, 20, true, true, false, 0.1); %vector = t2dVectorSub(%event.point, 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(%event.point); %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(%event.point,$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::onTouchUp(%this, %event) { $screenTouchStartingPoint[%event.id].Delete(); //for heli controls //pheliStick2.setPosition(pheliBracket2.getPositionX(), pheliBracket2.getPositionY()); //Player2Copter.setLinearVelocityX(0); //Player2Copter.setLinearVelocityY(0); if($Player2TouchDown) { Player2Image.moveTo(%event.point, 20, true, true, false, 0.1); %vector = t2dVectorSub(%event.point, Player2Image.getPosition()); %targetRotation = mRadToDeg(mAtan(%vector.y, %vector.x)) + %this.rotationOffset; Player2Image.rotateTo(%targetRotation, 400, true, false, true, 0.1); $temprotation2 = %targetRotation; $Player2TouchMoving = false; $Player2TouchDown = false; $Player2TouchUp = true; } } function Player2Image::onTouchDown(%this, %event) { if (!isObject(sceneWindow2d)) return; playmonkeysoundrandom(); if($Player2TouchMoving) { %this.moveTo(%event.point, 1500, true, true, false, 0.1); } $Player2TouchDown = true; $Player2TouchUp = false; $Player2TouchMoving = true; %this.moveTo(%event.point, 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(%event.point); %tempFinger.setLifetime(0.8); } function Player2Image::onTouchMove(%this, %event) { if (!isObject(sceneWindow2d)) return; $Player2TouchUp = false; $Player2TouchMoving = true; if($Player2TouchDown) { %this.moveTo(%event.point, 20, true, true, false, 0.1); %vector = t2dVectorSub(%event.point, 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(%event.point); %tempFinger.setLifetime(0.8); } } function Player2Image::onTouchUp(%this, %event) { $Player2TouchDown = false; $Player2TouchUp = 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); } }