function bombtest::onLeveloaded(%this,$scenegraph) { %this.setUseMouseEvents(true); %this.enableUpdateCallback(); } function bombtest::onMouseDown(%this, %modifier, %worldPosition, %clicks) { %this.startSize = %this.getSizeX(); echo("startsize:"); echo(%this.startSize); %this.totalDistance = 400; %this.currentDistance = 0; %this.startX = %this.getPositionX(); echo("startX:"); echo(%this.startX); %this.startY = %this.getPositionY(); echo("startY:"); echo(%this.startY); %this.startPosition = %this.getPosition(); echo("startPosition:"); echo(%this.startPosition); %this.targetX = %this.startX + msqrt(%this.totalDistance/2); echo("targetX:"); echo(%this.targetX); %this.targetY = %this.startY + msqrt(%this.totalDistance/2); echo("targetY:"); echo(%this.targetY); //moveTo(%targetX, %targetY, %speed, [%autoStop = true], [%callback = false], [%snap = true], [%margin = 0.1]) %this.moveTo(%worldPositionX+20,%worldPositionY+20, 20, true, false, false, 0.1); } function bombtest:: onUpdate(%this) { echo("inupdate"); %currentX = %this.getPositionX(); echo(" currentX:"); echo(%currentX); %currentY = %this.getPositionY(); echo(" currentY:"); echo(%currentY); echo("worldposition:"); echo(%worldPosition); // error with current distance %this.currentDistance = t2dVectorDistance(%this.getPosition(), %this.startPosition); //%this.currentDistance = (mpow(%currentX-%this.startX,2) + mpow(%currentY-%this.startY,2)); echo(" currentdistance:"); echo(%this.currentDistance); %sizeUpdate = 2*msin((3.142*%this.currentDistance)/%this.totalDistance); echo(" Size update:"); echo(%sizeUpdate); if(%sizeUpdate !=0) { %sizeUpdate *= %this.startSize; %this.setSize(%sizeUpdate,%sizeUpdate); } else { %this.setSize(%startSize,%startSize); echo("Size reset"); echo(%this.getSize()); } }