Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Thema geschlossen
 
LinkBack Themen-Optionen Ansicht
Alt 14-05-2006, 00:01   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 138
LineTo-Kreuzung

Moinsen,

ich bin's mal wieder mit meinen Linien. Mithilfe von "lineTo" werden unter bestimmten Bedingungen und blabla horizontale und vertikale Linien gezeichnet (mit einer Laufvariable und onEnterFrame - sie sind also nicht einfach da!).
Während nun z. B. eine horizontale Linie gezeichnet wird, soll überprüft werden, ob sie eine schon existierende vertikale kreuzt.
Ich verstehe folgendes nicht:
PHP-Code:
trace(this["linie" t]._x); 
gibt immer Null aus, was ich nicht verstehe. Aber es muss doch irgendwie so oder anders zu bewerkstelligen sein?

Ich bedanke mich schon mal.
MfG
FireShark
FireShark ist offline  
Alt 14-05-2006, 00:18   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Ist "linie"+t eine Instanz? Nur eine Instanz kann einen _x-Wert haben. Lass deine Linien am besten in MCs zeichnen, bei denen kannst du die Positionswerte auslesen.
 
Alt 14-05-2006, 00:21   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 138
Du meinst mit "createEmptyMovieClip"? Ja....
Und "trace" gibt ja immerhin kein "undefined" zurück.
FireShark ist offline  
Alt 14-05-2006, 02:04   #4 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Gibt der "0" oder "Null" aus?!!
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline  
Alt 14-05-2006, 12:27   #5 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 138
Er gibt "0" aus.

Ah, hi RustyCake - dann kann ich Dich ja direkt fragen. Du hast das ja auch verwendet in Deiner Antwort zu dem anderen Thread. Seltsamerweise hat auch an der Stelle "trace" immer dasselbe ausgegeben: 0.

Danke für weitere Hilfe!
MfG
FireShark
FireShark ist offline  
Alt 14-05-2006, 12:54   #6 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
mit
ActionScript:
  1. _root.createEmptyMovieClip("gagabla", 1);
erstellst du einen leeren MovieClip in _root an der Position 0|0.
Wenn du nun mit
ActionScript:
  1. _root.gagabla.lineStyle(1, 0);
  2. _root.gagabla.moveTo(100, 100);
  3. _root.gagabla.lineTo(200, 200);
eine schwarze Linie von 100|100 nach 200|200 malst, so hast du die Position des MovieClips nicht geändert. (was einem die Flash-IDE manchmal vorgaukelt)

Auf die Linie selbst kannst du mit AS nicht zugreifen, nur auf ihren Container (gagabla).
Wenn du also die Position der Linie mit der des MovieClips abbilden möchtest, dann müsstest du es wie folgt machen:
ActionScript:
  1. _root.createEmptyMovieClip("gagabla", 1);
  2. _root.gagabla.lineStyle(1, 0);
  3. _root.gagabla.moveTo(0, 0); // immer 0, also am Ursprung beginnen
  4. _root.gagabla.lineTo(100, 100);
  5. _root.gagabla._x = 100;
  6. _root.gagabla._y = 100;
Das hat visuell den gleichen Effekt, global gesehen geht die Linie von 100|100 nach 200|200, nur entspricht jetzt die Position des Containers der der Linie.
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline  
Alt 14-05-2006, 17:45   #7 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 138
Wahnsinn!! Das läuft einwandfrei! Vielen Dank auch!
Was man alles so lernt hier...

Edit: Hm - wie ich jetzt erkenne, wann sich zwei Linien kreuzen, weiß ich leider trotzdem noch nicht. Denn es ist ja nicht so, dass z. B. this["linie" + t]._x ständig inkrementiert wird, während die Linie gezeichnet wird. Sonst könnte man ja machen:
PHP-Code:
if (this["linie" t]._x >= this["linie" v]._xblabla
.

Gibt es da Vorschläge?

MfG
FireShark

Geändert von FireShark (14-05-2006 um 17:52 Uhr)
FireShark ist offline  
Alt 14-05-2006, 19:00   #8 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
kollision

Wobei dort die Variable s bei dir der Zeit entspricht.
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline  
Alt 14-05-2006, 23:18   #9 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 138
Och Mennö... was mache ich denn nun wieder falsch?

PHP-Code:
createEmptyMovieClip("q"1);
createEmptyMovieClip("w"2);
qx1 100;
qy1 100;
qx2 100;
qy2 100;
wx1 100;
wy1 = -100;
wx2 100;
wy2 200;
q.lineStyle(10);
q.lineTo(qx1qy1);
q._x qx2;
q._y qy2;
w.lineStyle(10);
w.lineTo(wx1wy1);
w._x wx2;
w._y wy2;
var 
= ((qx2 qx1) * (wy1 qy1) - (qy2 qy1) * (wx1 qx1))/((wx2 wx1) * (qy2 qy1) - (qx2 qx1) * (wy2 wy1));
var 
wx1 * (wx2 wx1);
var 
wy1 * (wy2 wy1);
trace("   " "   " s); // NaN   NaN   NaN 
Das ganze ist jetzt eine Probe-Test-Datei. Mit den gegebenen Koordinaten wird ein in alle Richtungen symmetrisches Kreuz (X-Form) erstellt. Der Schnittpunkt müsste gemäß .swf die Koordinate (150|150) haben.

Danke.
MfG
FireShark

Geändert von FireShark (14-05-2006 um 23:19 Uhr)
FireShark ist offline  
Alt 15-05-2006, 09:25   #10 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Nich rumheulen, testen!
Zitat:
var z1=(qx2 - qx1) * (wy1 - qy1) - (qy2 - qy1) * (wx1 - qx1);
trace ("z1="+z1);//gibt 0, 0 geteilt durch irgendwas gibt NaN
 
Alt 15-05-2006, 21:25   #11 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 138
1. Ich habe nicht geheult. Ich war lediglich etwas müde und mit meinen Nerven am Ende, weil mir in letzter Zeit die Zeit fehlt.
2. Dass Teilen durch Null Unendlich ergibt, ist mir bekannt. Der Lösung meines Problems ist man damit nicht näher gekommen.
3. Arroganz ist kontraproduktiv.

MfG
FireShark
FireShark ist offline  
Alt 15-05-2006, 21:46   #12 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Arroganz ist kontraproduktiv.
Eher dieser blöde Spruch... Dadurch wirst du deine Arbeit jetzt wohl selbst erledigen müssen, ich werde sicherlich nicht mehr für dich testen
 
Alt 15-05-2006, 22:45   #13 (permalink)
Neuer User
 
Registriert seit: Nov 2004
Beiträge: 138
Ja, das war mir schon klar, dass das die Reaktion sein würde.
Es tut mir leid, wenn ich etwas überreagiert habe.
Aber mit solchen absolut - wie ich sagte - unproduktiven und zugleich (fast) beleidigenden, hingeworfenen Sätzen kann man mich jagen.
Übrigens - was hast Du denn für mich getestet? Habe ich da etwas verpasst (Das ist NICHT ironisch gemeint)?

Na ja, es wäre trotzdem schön, wenn es nicht so enden würde wie jetzt. Wir sind doch schließlich > 12 Jahre && ! typeOf(Kindergartenkinder).

Hoffe, Du akzeptierst meine Entschuldigung. Aber wenn Du mir nicht mehr helfen willst, dann habe ich das hiermit zur Kenntnis genommen.

MfG
FireShark
FireShark ist offline  
Alt 15-05-2006, 22:53   #14 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
1. Ich habe nicht geheult.
Und was ist das folgende??
Zitat:
Och Mennö... was mache ich denn nun wieder falsch?
Und bevor hier noch die Fäuste fliegen -> closed.
 
Thema geschlossen

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 19:31 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele