Samstag, 16. Juni 2007

Defining waypoints for your sprite, or, moving your sprite on a straight line

If you want to move your sprite from one point to another on a straight line, you will have to calculate the line based on the two positions given. Since the equation for a line is

mx+b = y

you will have to calculate the slope (m) and the intercept (b) to be able to calculate any position in between the starting and the end position. The two methods for doing this in J2ME:




class Util {
/**
* Slope calculation for line given by two x-y-positions
*
* @param x1 First position's x-parameter
* @param y1 First position's y-parameter
* @param x2 Second position's x-parameter
* @param y2 Second position's y-parameter
* @return calculated slope value
*/
public static double calcLineSlope(int x1, int y1, int x2, int y2) {
double dx = x1 - x2;
double dy = y1 - y2;
if ((dx != 0) && (dy != 0)) {
return (dy / dx);
} else {
return 0;
}
}

/**
* Intercept calculation for line given by x-y-position and slope
*
* @param x x-parameter of given position
* @param y y-parameter of given position
* @param m slope of line
* @return calculated intercept value
*/
public static double calcLineIntercept(int x, int y, double m) {
if (m != 0) {
return y - m*x;
} else {
return 0;
}
}
}


 


To put these functions into use, you can try something like the following EnemySprite class



import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;

class EnemySprite extends Sprite {

double cur_m;
double cur_b;
int target_x;
int target_y;

int speed;

// Constructor, is called when you instantiate your EnemySprite
public EnemySprite(Image img) {
super(img);

speed = 5;

// Starting position (20, 20), target position (30, 100)
this.setPosition(20, 20);
target_x = 30; target_y = 100;
cur_m = Util.calcLineSlope(target_x, target_y, this.getX(), this.getY());
cur_b = Util.calcLineIntercept(this.getX(), this.getY(), cur_m);
}

// Call this method in your game loop
public void update () {
if ((this.getX() != target_x) || (this.getY() != target_y)) {
double dx = Math.abs(target_x - this.getX());
double dy = Math.abs(target_y - this.getY());
if ((dx != 0) && (dy != 0)) {
int nextx = 0;

if (Math.abs(this.getX() - target_x) < speed) {
nextx = target_x;
} else {
nextx = (this.getX() < target_x) ?
this.getX() + speed :
this.getX() - speed;
}
int nexty = (int)(nextx * cur_m + cur_b);

this.setPosition(nextx, nexty);
} else {
if (dx != 0) {
if (Math.abs(this.getX() - target_x) < 2*speed) {
this.setPosition(target_x, this.getY());
} else {
int nextx = (this.getX() < target_x) ?
this.getX() + 2*speed :
this.getX() - 2*speed;
this.setPosition(nextx, this.getY());
}
}
if (dy != 0) {
if (Math.abs(this.getY() - target_y) < 2*speed) {
this.setPosition(this.getX(), target_y);
} else {
int nexty = (this.getY() < target_y) ?
this.getY() + 2*speed:
this.getY() - 2*speed;
this.setPosition(this.getX(), nexty);
}
}
}
} else {

// Target position reached, inititalize next waypoint...

}
}
}


 


This will only work with MIDP 2.0, since floating-point-values are not supported in MIDP 1.0 to my knowledge.

To copy and paste this code, please open the source of this page and copy from there.



--thgc

25 Kommentare:

Anonym hat gesagt…

cheap viagra walmart Buy Viagra Online No Prescription buy viagra meds online viagra australia herbal viagra reviews non prescription viagra how does viagra work viagra uterine thickness effects of viagra on women generic viagra cheap cheap herbal viagra viagra lawyers viagra attorney columbus buy viagra soft online

Anonym hat gesagt…

Good fill someone in on and this fill someone in on helped me alot in my college assignement. Thank you as your information.

Anonym hat gesagt…

mtv awards

Grüß euch

Wir stimmen wieder absolut nicht überein mit der diesjährigen mtv 2010awards Entscheidung.

Bitte schaut vorbei auf unsere kleine Abstimmung

http://micropoll.com/t/KEcJnZBNrh


Lady Gaga kann doch wirklich nicht besser sein als Sting

Diese Umfrage wird unterstützt von MTVawards 2010 sponsor femmestyle
[url=http://www.femmestyle.de]brustvergrößerung plastische Chirurgie[/url]


Nächstes mal muss wieder unbedingt besser werden.

Anonym hat gesagt…

viagra generika rezeptfrei kaufen viagra viagra versagt viagra erfahrungen forum viagra indien viagra in türkei viagra privat kaufen viagra über internet viagra sofort kaufen viagra wechselwirkung

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

nitrolingual viagra viagra cialis oder levitra viagra verschreiben lassen hgl viagra dove si compra il viagra generika für viagra dr. viagra viagra spritze viagra 50 mg rezeptfrei viagra kauf

Anonym hat gesagt…

warum ist viagra so teuer viagra sport risiken bei viagra viagra tee viagra von pfitzer viagra englisch viagra gedicht viagra marke viagra auch ohne rezept viagra packungsbeilage

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

viagra in verbindung mit alkohol viagra österreich rezeptfrei viagra original ohne rezept verschreibungspflicht viagra viagra in der schweiz viagra testen viagra im internet kaufen viagra ejakulation why viagra viagra halbwertszeit

Anonym hat gesagt…

viagra stärke rezeptpflichtig viagra viagra pfizer kaufen viagra folgen viagra luxemburg rezeptfrei vergleich viagra levitra gel viagra viagra gut woher kriege ich viagra echtes viagra

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

viagra rezeptfrei bestellen viagra probe bestellen viagra rezeptfrei schweiz viagra legal kaufen viagra und nebenwirkungen viagra rezeptpflichtig viagra nachwirkungen gleiche wirkung wie viagra viagra pzn viagra cialis gleichzeitig

Anonym hat gesagt…

neues viagra viagra aus deutschland bestellen viagra kauf viagra 1 tablette viagra bergsteigen gelbe viagra tapir viagra gefahren bei viagra wirkung von viagra wirkweise viagra

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

viagra tote viagra von innen viagra rezeptfrei online viagra vom arzt hiv und viagra viagra und nebenwirkungen viagra russische viagra ganz billig costa rica viagra phyzer viagra

Anonym hat gesagt…

viagra aus österreich cartoon viagra generika viagra cialis viagra online kaufen viagra kaufen niederlande viagra sicher online kaufen chinese herbal viagra viagra kontraindikation viagra und cialis mischen viagra mit alkohol

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

max raabe viagra viagra in griechenland preis für viagra viagra zu früh kommen viagra aus türkei viagra angebot viagra herz tabletten viagra viagra kontraindikation pillen viagra

Anonym hat gesagt…

viagra generika test viagra bei jungen männern aspirin viagra viagra aus den niederlanden viagra der natur viagra wie lange haltbar viagra n1 mit viagra eu viagra ipp viagra

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

viagra venlo viagra in indien anwendung von viagra geschichte von viagra wirkt wie viagra wirkungsdauer viagra herstellung von viagra pfizers viagra thuoc viagra beckham viagra

Anonym hat gesagt…

bestellung viagra viagra günstig kaufen warum ist viagra so teuer viagra positive nebenwirkungen echte viagra kaufen viagra cobra viagra seriös kaufen beckham viagra viagra ausland viagra auf rechnung bestellen

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

viagra zum spass consumo de viagra viagra wann wirkt es viagra natur spanien viagra viagra überdosis viagra rezeptfrei günstig spc viagra blaue viagra viagra packungsbeilage

Anonym hat gesagt…

alternative für viagra viagra witz viagra geschichte viagra 100mg preis viagra rezeptfrei legal viagra kaufen apotheke viagra pflanzlich pfitzner viagra viagra und nebenwirkungen viagra kontraindikation

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

gebrauchsanweisung viagra viagra ablaufdatum viagra schädlich viagra preiswert online viagra und cialis kaufen viagra einzeln viagra nitro viagra ausland viagra ab welchem alter türkisch viagra

Anonym hat gesagt…

sildenafil viagra viagra im internet kaufen viagra online apotheke viagra auf alkohol viagra mit aspirin viagra kaufen österreich viagra dänemark viagra spinne tablette viagra viagra rezeptfrei usa

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

viagra beratung max raabe viagra viagra online erfahrungen viagra grippe viagra dauerständer acm viagra myspace viagra viagra generika online viagra ohne verschreibung viagra haarausfall

Anonym hat gesagt…

viagra rezeptfrei ausland cialis viagra levitra viagra apotheke preis viagra generika günstig viagra marke viagra langzeit arabische viagra viagra gegenanzeigen suche viagra bestandteile viagra

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

bayer viagra viagra oder cialis viagra in berlin viagra generika test rezeptpflichtig viagra wieviel kostet viagra netdoktor viagra angebote viagra efectos viagra viagra sprüche

Anonym hat gesagt…

viagra günstig viagra rezeptfrei legal viagra geschichte viagra original rezeptfrei hirschhausen viagra vatikan viagra arginin viagra viagra warum rezeptfrei viagra bestellen viagra dopingliste

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

fox viagra viagra in holland kaufen farbe viagra innen cialis besser als viagra viagra tod kamagra lutschtabletten 100mg viagra generika gegenteil viagra viagra gut viagra zitate viagra 100mg wirkung

Anonym hat gesagt…

viagra schnaps hersteller viagra uprima vs viagra gefahren viagra viagra nachteile viagra wirkt bei mir nicht viagra verkauf viagra von innen fox viagra viagra und co

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

viagra thc viagra generika cialis und viagra viagra schnittblumen nachgemachte viagra viagra richtig einnehmen viagra versand deutschland beckham viagra ephedrin viagra viagra internet strafbar

Anonym hat gesagt…

viagra i alkohol viagra tipps günstiger viagra generika viagra viagra bestellen ch viagra rezeptfrei auf rechnung billig viagra viagra nebeneffekte viagra italien rezept viagra und herzinfarkt

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

pfizer viagra 50mg cialis viagra levitra gibt es viagra rezeptfrei viagra mit 25 viagra natürlich viva viagra sahte viagra viagra wirkung forum viagra sofort kaufen virtual viagra

Anonym hat gesagt…

jetlag viagra viagra hannover pfizer labs viagra nebenwirkung von viagra viagra richtig einnehmen viagra in verbindung mit alkohol viagra kosten gbl viagra viagra verträglichkeit ägyptisches viagra

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

viagra funktioniert nicht viagra schmerzen viagra wirkung lässt nach viagra auf rezept viagra apotheken viagra studien viagra halbwertszeit viagra bestellen ohne rezept viagra gedicht online viagra und cialis kaufen

Anonym hat gesagt…

viagra topliste 50 cent viagra viagra internet strafbar viagra umsatz 2007 wirkt viagra nebivolol viagra wie lang hält viagra viagra natürlich natur viagra apotheke viagra rezeptfrei

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

viagra kaufen forum günstiges viagra viagra günstig viagra unverträglichkeit auswirkungen von viagra viagra lieferung generika von viagra viagra zum kaufen viagra tod rezeptfrei viagra

Anonym hat gesagt…

wirkt viagra viagra aus belgien beste viagra c20 viagra wirkzeit viagra viagra oder farbe viagra innen viagra bei gesunden männern viagra von bayer folgen von viagra

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

viagra tbl potenzpille viagra viagra rezeptfrei in holland kosten von viagra viagra nur auf rezept viagra gratisprobe viagra gefahren gleiche wirkung wie viagra verkaufe viagra original viagra rezeptfrei

Anonym hat gesagt…

viagra bezugsquellen viagra kaufen köln viagra halbwertszeit viagra kontraindikationen ägyptische viagra viagra der natur viagra in österreich kaufen viagra bei der apotheke viagra ausland viagra spermien

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

viagra pflanzlich halbe viagra arzneimittelgesetz viagra viagra de c20 viagra viagra tabletten generic viagra günstig viagra droge horn pflanzliches viagra viagra verkaufen

Anonym hat gesagt…

viagra im internet viagra wie schnell viagra österreich rezeptfrei apotheken online viagra viagra bedeutung viagra ohne verschreibung viagra pflaster potent ohne viagra viagra kupic viagra wirkung forum

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

benutzung viagra viagra etkisi viagra 100 mg 12 st wirkt viagra immer viagra wirkungseintritt potent ohne viagra viagra generika günstig viagra bestellen holland preis von viagra viagra schnaps

Anonym hat gesagt…

viagra in italien kaufen ciali viagra viagra mit alkohol viagra arzt viagra gesunder mann viagra zeit viagra geschichte kobra viagra viagra verschreibungspflichtig viagra rezeptfrei pillen

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

viagra bei impotenz viagra wirkt nicht mehr viagra risiken viagra auswirkung vergleich cialis viagra gibt es viagra in der apotheke viagra türkei viagra in spanien viagra wie wirkt es risiken von viagra

Anonym hat gesagt…

viagra mit wasser einnehmen irish viagra joke viagra generika schweiz cgmp viagra fragen zu viagra viagra lizenz gleiche wirkung wie viagra türkisches viagra viagra fragen viagra rezeptfrei in der apotheke

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

nebivolol viagra rezeptpflichtig viagra cialis contra viagra viagra graz china viagra spanien viagra rezeptfrei viagra generika preisvergleich viagra generika günstig ephedrin und viagra viagra wie einnehmen

Anonym hat gesagt…

viagra billig kaufen viagra in italien kaufen viagra online bestellen rezeptfrei viagra haltbarkeit pfizer viagra wikipedia wie lang hält viagra viagra und seine wirkung herbal viagra manufacturers viagra natürlich viagra in berlin

[url=http://www.turbo-slim.com/index.php?productID=11]viagra kaufen[/url]

nils viagra norvasc viagra interaction forum viagra bestellen viagra vom arzt viagra erfahrungen forum viagra maus arginin statt viagra viagra kaufen wo costa rica viagra wirkzeit viagra

Anonym hat gesagt…

top [url=http://www.001casino.com/]online casino[/url] check the latest [url=http://www.realcazinoz.com/]realcazinoz[/url] unshackled no set aside hand-out at the best [url=http://www.baywatchcasino.com/]baywatchcasino
[/url].