| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Aug 2006
Beiträge: 27
|
Hallo, ich suche eine Möglichkeit, einen Stadtplan per AS zu kippen und gleichzeitig um die eigene x-Achse drehen zu lassen. Alle Beiträge zu diesem Thema haben mich irgendwie nicht richtig nach vorne gebracht und ich wäre wirklich sehr froh, wenn mir jemand einen Tip geben könnte. Vielen Dank! Grüsse fizzo |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
kippen (neigen) geht mit AS nicht. d.h. ab flash 8 mit bitmaps und matrix-operationen lege deine karte in das karten_mc (ich nenne das jetzt mal so). und dieses mc in das kipp_mc kipp_mc.karten_mc._rotation=30; kipp_mc._yscale=50; ansonsten: mal die suchfunktion benützen! z.b. verzerren/kippen per as?
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (04-10-2006 um 12:20 Uhr) |
| | |
| | #3 (permalink) | |
| Banned Registriert seit: Sep 2006
Beiträge: 793
| Zitat:
nur etwas tricky und ich weiss auch nie wie ich zum richtigen ergebniss komm ![]() PHP-Code: ![]() edit... wer sich wundert .. ohne on enter frame gehts net ... noch son flashbug.... schön das man sie wenigstens kombinieren kann Geändert von ballaballa (04-10-2006 um 12:51 Uhr) | |
| | |
| | #4 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
"..nur etwas tricky.." das hatte ich ja auch geschrieben: "..lege deine karte in das karten_mc (ich nenne das jetzt mal so). und dieses mc in das kipp_mc.." dennoch ist die flash8 variante doch etwas eleganter ;-) Code: import flash.geom.Matrix; import flash.geom.Transform; // var kippX = -.3; var myMatrix:Matrix = new Matrix(1, 0, kippX, 1, _root.karte_mc._x, _root.karte_mc._y); // var trans:Transform = new Transform(_root.karte_mc); trans.matrix = myMatrix;
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Aug 2006
Beiträge: 27
| kippen und rotieren
Vielen Dank für eure Antworten! Das Ergebnis sieht allerdings noch sehr optimierungsbedürftig aus, weil das Kippen eine extreme Verzerrung zu bewirken scheint. Kann man diese Verzerrung irgendwie vermeiden? Das gewünschte Traumergebnis dieses Experiments habe ich hier gesehen (unter Adresse): http://www.reingold.de Der verwendete Code in der Beispiel Fla sieht wie folgt aus: Code: import flash.geom.Matrix;
import flash.geom.Transform;
var kippX = 3;
var myMatrix:Matrix = new Matrix(1, 0, kippX, 1, _root.kipp_mc._x, _root.kipp_mc._y);
var trans:Transform = new Transform(_root.kipp_mc);
trans.matrix = myMatrix;
onEnterFrame = function() {
_root.kipp_mc.karte_mc._rotation += 1;
} würde ich mich sehr über weitere Tipps freuen! Vielen Dank und Grüsse fizzo Geändert von fizzo (05-10-2006 um 02:50 Uhr) |
| | |
| | #6 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
*
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Aug 2006
Beiträge: 27
|
Hallo hgseib! Vielen Dank für die Hilfe! Die Lösung ist genial einfach, man muss "nur" wissen wie es geht. Interessant ist auch, auf wieviele unterschiedliche Lösungsansätze ich beim Durchforsten dieses Forums gestossen bin. Aber diese Lösung hier scheint mir die beste für meine Zwecke zu sein. Noch einmal vielen Dank! grüsse fizzo |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Aug 2006
Beiträge: 27
| Koordinaten einzelner Punkte auf der Karte
Hallo, verzweifelt versuche ich mir die _x und _y Koordinaten einzelner Punkte auf der Karte ausgeben zu lassen. Da sich die Karte dreht, verändern sich diese Koordinaten. Mir allerdings werden immer dieselben _x und _y Werte ausgegeben. Kennt hier jemand eine Lösung , wie ich z.B. einen Punkt auf der Karte mit einem mc markiere und die aktuellenen _x und _y Werte ermitteln kann? Für einen Tipp oder Lösungsvorschlag bin ich wie immer sehr dankbar! grüsse fizzo |
| | |
| | #9 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
in der karte innen drinn herrscht ruhe. gedreht wird nur äusserlich. jedes mc hat seinen eigenen nullpunkt. um koordinaten vom mc zur bühne zu berechnen gibts den befehl localToGlobal und umgekehrt: globalToLocal anwendungsbeispiele: in der flash-hilfe bzw. hier mal danach suchen.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #10 (permalink) |
| Neuer User Registriert seit: Aug 2006
Beiträge: 27
| localToGlobal
Hallo und vielen Dank für die Antwort! localToGlobal funktioniert wunderbar, nur leider mit einem einzelnen Punkt: Code: onEnterFrame = function() {
var pt1:Object = {x:_root.mc_master.plan_mc.t1._x, y:_root.mc_master.plan_mc.t1._y};
_root.mc_master.plan_mc.localToGlobal(pt1);
_root.ht1._x = pt1.x;
_root.ht1._y = pt1.y;
} Code: onEnterFrame = function() {
var pt1:Object = {x:_root.mc_master.plan_mc.t1._x, y:_root.mc_master.plan_mc.t1._y};
var pt2:Object = {x:_root.mc_master.plan_mc.t2._x, y:_root.mc_master.plan_mc.t2._y};
_root.mc_master.plan_mc.localToGlobal(pt1);
_root.mc_master.plan_mc.localToGlobal(pt2);
_root.ht1._x = pt1.x;
_root.ht1._y = pt1.y;
_root.ht2._x = pt2.x;
_root.ht2._y = pt2.y;
} Vielleicht weiß jemand weiter? grüsse fizzo |
| | |
| | #11 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
es gibt ein localToGlobal und ein globalToLocal. aber kein xxxToyyy p={x:0,y:0} _root.mc_master.plan_mc.t1.localToGlobal(p); _root.mc_master.plan_mc.globalToLocal(p);
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: Aug 2006
Beiträge: 27
| thx!
nochmals danke für die antwort. mein fehler lag woanders und ist gelöst. ziel war es, zwei waagerechte linien (ht1 und ht2) über zwei punkte in der karte zu positionieren. der fehler lag darin, dass ich den nullpunkt der linien unterschiedlich festgelegt hatte, so dass das ergebnis falsch aussah, aber eigentlich richtig war. Code: var pt1:Object = {x:60, y:-3};
_root.plan_mc.localToGlobal(pt1);
_root.ht1._x = pt1.x;
_root.ht1._y = pt1.y;
var pt2:Object = {x:0, y:-30};
_root.plan_mc.localToGlobal(pt2);
_root.ht2._x = pt2.x;
_root.ht2._y = pt2.y; daher: vielen vielen dank! grüsse fizzo |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |