Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-08-2003, 13:00   #1 (permalink)
Flash and chips.
 
Benutzerbild von Zett
 
Registriert seit: Jun 2001
Ort: Graz
Beiträge: 531
Ziel-Algorithmus

Hallo,
fähige Mathematiker (oder jemanden mit passender fla-Datei) gesucht!

Ich hab ein klassisches Ziel-Spiel geschrieben (Dart, z.b.), in der der Cursor sich vom Zentrum weg bewegt. Ganz zufrieden bin ich aber nicht damit.
In professionellen Spielen ruckelt der Cursor nicht einfach durch die Gegend, sondern verhält sich wie ein Magnet, der vom Zentrum abgestossen wird. Zielt man nicht genau in die Mitte, gleitet man aussen herum ab.

Kennt wer den Algorithmus?

Grüße,
Zett.
__________________
The map is NOT the territory.
Zett ist offline   Mit Zitat antworten
Alt 22-08-2003, 13:01   #2 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Post mal den Code
MacEvil ist offline   Mit Zitat antworten
Alt 22-08-2003, 13:16   #3 (permalink)
Flash and chips.
 
Benutzerbild von Zett
 
Registriert seit: Jun 2001
Ort: Graz
Beiträge: 531
mein code tut eigentlich nichts zur sache, ich änder einfach x- und y-wert des cursors pro frame durch ein Math.random, sodass er (der cursor) hin und her springt... ich will's aber so haben, wie oben beschrieben - je näher man dem zentrum kommt, desto schwieriger wird es, nicht nach links oder rechts abzudriften. sowas hat sicher schon jeder mal gesehen - aber wie machen?
__________________
The map is NOT the territory.
Zett ist offline   Mit Zitat antworten
Alt 22-08-2003, 13:24   #4 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
naja, wie waere es, wenn du einfach mal anfiengest?

ein paar Gedanken dazu:

1. Staerke der abstossenden Kraft ist von der Entfernung Maus <--> Zielscheibenmittelpunkt abhaengig

2. Richtung der abstossenden Kraft ist immer vom Mittelpunkt weg.

Koennte etwa so aussehen:

ActionScript:
  1. var maxf = 100;
  2.  
  3. var zielx = 300;
  4. var ziely = 300;
  5.  
  6. var dx = _xmouse-zielx;
  7. var dy = _ymouse-ziely;
  8. var a = Math.atan2(dy,dx);
  9.  
  10. var rad = Math.sqrt(dx*dx+dy*dy);
  11.  
  12. var f = (rad > maxf)?(0) : (maxf-rad);
  13.  
  14. var fy = Math.sin(a)*f;
  15. var fx = Math.cos(a)*f;

*untested* (kein Flash da)
evtl. musst du noch ein paar Vorzeichen veraendern
oder es ist ganz falsch? besser geht es auf jeden Fall

Geändert von Janoscharlipp (22-08-2003 um 13:25 Uhr)
Janoscharlipp ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 15:39 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele