| |||||||
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: Jan 2005 Ort: Stuttgart
Beiträge: 8
| Mit JSFL alle Elemente zum nächsten vollen Pixel verschieben
Hallo, kann mir jemand helfen? Ich brauche ein JSFL Skript, dass alle Elemente auf der Bühne in meinem Movie zum nächsten vollen Pixel verschiebt. Zum Beispiel ein Element auf der Bühne hat x=103,4 und y=204,6 Das Element sollte dann verschoben werden nach x=103 und y=205 Und so weiter mit allen Elementen auf der Bühne. Geht das? |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Jan 2005 Ort: Stuttgart
Beiträge: 8
|
So, ich habe mir mal was zusammengebastelt. Mit trace funktioniert das schon ganz gut. Genau wie ich es haben will. Allerdings wie krieg ich jetzt die Elemente tatsächlich bewegt? myElement.moveSelectionBy({x:_diffX, y:_diffY}) funktionert irgendwie nicht. ActionScript:
Zum testen einfach in "C:\Docs... \[Username]\Application Data\Macromedia\Flash MX 2004\en\Configuration\Commands\" speichern und dann im Flash MX 2004 aufrufen über dem "Commands" Menü. Geändert von StormLogiX (28-06-2005 um 22:33 Uhr) |
| | |
| | #3 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.326
|
aus der doku: document.moveSelectionBy() Availability Flash MX 2004. Usage document.moveSelectionBy( distanceToMove ) Parameters The distanceToMove parameter is a pair of floating point values that specify the x and y coordinate values by which the method moves the selection. For example, passing ({x:1,y:2}) specifies a location one pixel to the right and two pixels down from the current location. Returns Nothing. das ist keine funktion von myElement, sondern NUR vom dokument. das geht: fl.getDocumentDOM().moveSelectionBy({x:1,y:2}); das verschiebt, was gerade selectiert ist. wenn myElement selectiert ist, dann halt das.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (28-06-2005 um 20:51 Uhr) |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Jan 2005 Ort: Stuttgart
Beiträge: 8
|
Danke! Aber wenn ich nun fl.getDocumentDOM().moveSelectionBy({x:_diffX,y:_d iffY}) oder doc.moveSelectionBy({x:_diffX,y:_diffY}) verwende, kommt bei mir immer die Fehlermeldung "moveSelectionBy: no selection" - also keine Elemente wurde selektiert. Ich muss also eine Zeile vorher das "myElement" soz. selektieren. Wie kann ich das machen? Habe per Suche dazu nichts in der Doku gefunden. |
| | |
| | #5 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.326
|
wenn du keine selection hast, warum benütze du dann moveSelectionBy? (ich habe mir dein programm jetzt nicht zeile für zeile angesehen, was es macht und warum) myElement.left+= _diffX; myElement.top+= _diffY;
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Jan 2005 Ort: Stuttgart
Beiträge: 8
|
Geht leider nicht. Ich dachte auch, dass das so gehen würde. Die sind laut Doku "read-only property" und man kann sie nur über spezielle Methoden verändern. Hier die beschreibung aus der Doku: Usage element.top Description Read-only property; top side of the element. The value of element.top is relative to the upper left of the Stage for elements that are in a scene, and is relative to the symbol's registration point if the element is stored within a symbol. Use document.setSelectionBounds() or document.moveSelectionBy() to set this property. |
| | |
| | #7 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.326
|
ja dann, dumm gelaufen. da bliebe dir nur noch, die einzelnen elemente per programm anzuklicken. da du die aber nicht 'sehen' kannst, weisst du auch nicht, wohin du klicken sollst. also müsste man beim erstellen jede grafik auf eine eigene ebene legen (das kann man per programm selectieren). da kann ich die position aber auch per hand einfingern bzw. ich benütze einfach das raster. und mc's kann ich sowieso per AS positionieren, dafür brauch ichs dann auch nicht. ----------- element.matrix über die element.matrix könntest du es noch versuchen, ist aber nicht so einfach, weil damit keine absoluten werte eingegeben werden, sondern die scalierung und die rotation in %. ----------- und ist generell vielleicht garkeine so gute idee :-( wenn du zwei rechtecke übereinander zeichnest, dann schneidet das die fläche beim darunterliegenden weg. angenommen dein rücken würde klappen. dann rückst du eventuell schlitze in die konturen.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #8 (permalink) |
| in and out Registriert seit: Jun 2001 Ort: hamburg
Beiträge: 142
|
holla zusammen ![]() hat der gute jesse das schon in eurem sinne gelöst? siehe: http://www.jessewarden.com/archives/...sh_blurri.html |
| | |
| | #10 (permalink) |
| voidboy Registriert seit: Sep 2004 Ort: München
Beiträge: 5.588
|
Bei mir funktioniert das jsfl-Script nicht mit shape's. Wenn ich mehrere Formen erstelle ( zeichne ), und diese dann auf "unrunde" Koordinaten ausrichte, den Frame selektiere und diese Datei anwende listet er mir ersteinmal nur einen von den shape's auf und richtet keinen auf gerade pixel aus. Ist das bei euch auch so oder spinnt mein Flash ( MX 2004 ) etwas??? Könnte ich eigentlich auch irgedwie bei einer Instanz abfragen ob es sich um einen MovieClip oder Button handelt? Geändert von rendner[i] (03-09-2005 um 16:14 Uhr) |
| | |
| | #11 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.326
|
einzeln gezeichnete elemente sind halt keine objekte. folglich kann man die auch nicht einzeln abfragen. zumindest nicht so, das du mit jsfl erkennen könntest, das da ein rechteck mit abgerundeten ecken rumliegt. stell das raster ein, wenn du etwas ausrichten willst, oder halt: mc's - button - grafiken objeke kann man mit jsfl erkennen. oder, wenn du etwas ausgefallenes machen willst, dann z.b. mit jsfl zeichnen! 'erzeugen' geht ganz gut zu machen.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |