Obliczanie odległości pomiędzy dwoma punktami - AS3
Skrypt wyświetla aktualną odległość pomiędzy wyśrodkowanym punktem Sprite oraz kursorem myszki. Tworzy on również linię pomiędzy obydwoma punktami.
Wszystko działa na podstawie wzoru pitagorasa, który wygląda dla tego przykąłdu następująco:
dystans2 = dystansX2 + dystansY2
Co wygląda następująco w kodzie:
var dystans:Number = Math.sqrt(dystansX * dystansX + dystansY * dystansY);
Listing
//KOD DLA PLIKU Dystans.as
package {
//Skrypt pobrano z www.Funkcje.net
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.text.TextField;
public class Dystans extends Sprite {
private var sprite1:Sprite;
private var pole_txt:TextField;
public function Dystans() {
init();
}
private function init():void {
sprite1 = new Sprite();
addChild(sprite1);
sprite1.graphics.beginFill(0x000000);
sprite1.graphics.drawRect(-2, -2, 4, 4);
sprite1.graphics.endFill();
sprite1.x = stage.stageWidth / 2;
sprite1.y = stage.stageHeight / 2;
pole_txt = new TextField();
pole_txt.width = 200;
addChild(pole_txt);
stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
}
public function onMouseMove(e:MouseEvent):void {
graphics.clear();
graphics.lineStyle(1, 0, 1);
graphics.moveTo(sprite1.x, sprite1.y);
graphics.lineTo(mouseX, mouseY);
var dystansX:Number = sprite1.x - mouseX;
var dystansY:Number = sprite1.y - mouseY;
//FORMUŁA PITAGORASA a + b = c (kwadrat wszystko)
var dystans:Number = Math.sqrt(dystansX * dystansX + dystansY * dystansY);
pole_txt.text = dystans.toString();
}
}
}
package {
//Skrypt pobrano z www.Funkcje.net
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.text.TextField;
public class Dystans extends Sprite {
private var sprite1:Sprite;
private var pole_txt:TextField;
public function Dystans() {
init();
}
private function init():void {
sprite1 = new Sprite();
addChild(sprite1);
sprite1.graphics.beginFill(0x000000);
sprite1.graphics.drawRect(-2, -2, 4, 4);
sprite1.graphics.endFill();
sprite1.x = stage.stageWidth / 2;
sprite1.y = stage.stageHeight / 2;
pole_txt = new TextField();
pole_txt.width = 200;
addChild(pole_txt);
stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
}
public function onMouseMove(e:MouseEvent):void {
graphics.clear();
graphics.lineStyle(1, 0, 1);
graphics.moveTo(sprite1.x, sprite1.y);
graphics.lineTo(mouseX, mouseY);
var dystansX:Number = sprite1.x - mouseX;
var dystansY:Number = sprite1.y - mouseY;
//FORMUŁA PITAGORASA a + b = c (kwadrat wszystko)
var dystans:Number = Math.sqrt(dystansX * dystansX + dystansY * dystansY);
pole_txt.text = dystans.toString();
}
}
}
Dodano przez: divix
Ranga: Administrator serwisu Punktów: 0
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno