Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-02-2004, 09:26   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 89
2 würfel übereinander - geht nicht?

hallo in die runde,

letztens habe ich hier schon mal wegen einer würfelgeschichte nachgefragt. inzwischen bin ich ein stück weiter. aber da ich noch ein ziemlicher laie auf dem gebiet AS bin, stellen sich mir weitere fragen:

ich möchte 2 würfel ineinanderstellen. dazu habe ich das script von http://www.cleverpig.com/examples/cube.htm
etwas abgeändert. der würfel ist nun an 2 ecken aufgehangen und dreht sich nur um die x-achse. nun möchte ich in diesen würfel noch einen 2. kleineren einbringen. dazu habe ich den code in eine neue ebene kopiert. diese liegt über der des größeren würfels. trotzdem wird nur der größere angezeigt. vertausche ich die ebenen wird der kleinere angezeigt, also immer der auf der unteren ebene - eigentlich müßte es doch der auf der oberen sein.
sicher kann man auch die 2 würfel in ein script, also eine ebene packen, da fehlen mir aber wohl die kenntnisse, die richtigen parameter zu ändern.

ein 2. problem, dass sich mir stellt, sind die angaben für die linieneigenschaften. diese sind mit
ActionScript:
  1. _root.persp.lineStyle(5);
angegeben, lassen sich aber nicht ändern. ich bräuchte nämlich eine andere farbe und evtl. auch andere strichstärke.
da der code etwas zu lang zum zitieren ist, habe ich das ganze mal angehängt. vielleicht hat jemand lust, sich die datei mal anzuschauen und kann mir den entscheidenden tip geben.

vielen dank!
oops ist offline   Mit Zitat antworten
Alt 16-02-2004, 11:23   #2 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 89
ok, hab jetzt den code jeweils in ein movieclip gepackt und nun übereinander positioniert. muss nur noch aus den 2 button einen machen.

mir stellt sich aber immer noch das problem mit der strichfarbe und -dicke. hier mal der code für den 1. frame:
ActionScript:
  1. //DATA
  2. //
  3. // you can change the data to create different objects
  4. //
  5. // cube vertex data
  6. points = new Array(new Array(-22.5, 30, 50),
  7. new Array(-62.5, 0, 0),
  8. new Array(-22.5, 30, -50),
  9. new Array(17.5, 60, 0),
  10. new Array(22.5, -30, 50),
  11. new Array(-17.5, -60, 0),
  12. new Array(22.5, -30, -50),
  13. new Array(62.5, 0, 0));
  14. // cube face data... first four values are indices into the vertex data,
  15. // 5th is the colour for the face, 6th is presently unused (will later hold
  16. // depth info to allow simple hidden line.)
  17. faces = new Array(new Array(0,1,2,3,0xFF9900,0),
  18.  
  19. new Array(4,5,6,7,0xFFFFFF,0),
  20.  
  21. new Array(0,1,5,4,0xFFFFFF,0),
  22.  
  23. new Array(1,2,6,5,0xFFFFFF,0),
  24.  
  25. new Array(2,3,7,6,0xFFFFFF,0),
  26.  
  27. new Array(3,0,4,7,0xFFFFFF,0));
  28. //FUNCTIONS
  29. //
  30. //draws a connected line from a list of points
  31. function draw_points(theArray) {
  32.     _root.persp.clear();
  33.     _root.persp.lineStyle(5);
  34.     _root.persp.moveTo(theArray[0][0], theArray[0][1]);
  35.     for (i=1; i<theArray.length; i++) {
  36.         _root.persp.lineTo(theArray[i][0], theArray[i][1]);
  37.     }
  38. }
  39. //draws solid faces based on vertex & face arrays
  40. function draw_solid(thePoints,theFaces, opacity){
  41.     _root.persp.clear();
  42.     _root.persp.lineStyle(5);
  43.     for (i=0;i<theFaces.length;i++){
  44.         _root.persp.beginFill(theFaces[i][4],opacity);
  45.         _root.persp.moveTo(thePoints[ (theFaces[i][0]) ][0],thePoints[ (theFaces[i][0]) ][1]);
  46.         _root.persp.lineTo(thePoints[ (theFaces[i][1]) ][0],thePoints[ (theFaces[i][1]) ][1]);
  47.         _root.persp.lineTo(thePoints[ (theFaces[i][2]) ][0],thePoints[ (theFaces[i][2]) ][1]);
  48.         _root.persp.lineTo(thePoints[ (theFaces[i][3]) ][0],thePoints[ (theFaces[i][3]) ][1]);
  49.         _root.persp.endFill();
  50.     }
  51. }
  52. // rotation around x axis
  53. function xrot_points(theArray, angle) {
  54.     rangle = angle*Math.PI/180;
  55.     for (i=0; i<theArray.length; i++) {
  56.         y = theArray[i][1];
  57.         z = theArray[i][2];
  58.         theArray[i][1] = y*Math.cos(rangle)-z*Math.sin(rangle);
  59.         theArray[i][2] = z*Math.cos(rangle)+y*Math.sin(rangle);
  60.     }
  61. }
  62. // Initialise sliders
  63. thefaderx.knob._y=50;

nun müßte ja die eigenschaft
ActionScript:
  1. _root.persp.lineStyle(5);
geändert werden. gebe ich aber hier z.b.
ActionScript:
  1. lineStyle( 15, 0xff00ff, 100 );
ein, ändert sich an den linien gar nix. kann hier jemand weiterhelfen?

danke
oops ist offline   Mit Zitat antworten
Alt 19-02-2004, 13:44   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 89
in der hoffnung, dass vielleicht jetzt jemand eine lösung für mein problem hat, möchte ich die frage noch einmal in die runde werfen:

woran liegt es, dass ich die farbe der linien nicht ändern kann, bzw. wie könnte es funktionieren.
wie schon oben beschrieben, ist es nicht möglich, die attribute in
ActionScript:
  1. lineStyle
einzugeben.

kann jemand helfen?

vielen dank!
oops ist offline   Mit Zitat antworten
Alt 19-02-2004, 14:57   #4 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
interessante geschichte! ist das der komplette code oder nur ein ausschnitt?!

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 19-02-2004, 14:59   #5 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 89
ist nur ein ausschnitt. der rest ist unter dem oben angegebenen link zu finden, allerdings noch in der originalversion.

wie sieht es denn mit der lösung des linienproblems aus - hat noch jemand eine idee, warum eine angabe dort nicht funktioniert?

danke!
oops ist offline   Mit Zitat antworten
Alt 19-02-2004, 15:02   #6 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
da ist ein link... und da ist auch ein würfel, aber wo gibts da die fla?

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 19-02-2004, 15:05   #7 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Beiträge: 89
ok, sorry, war ja tatsächlich nur das beispiel.

also hier http://www.cleverpig.com/flashstuff.htm
ist die seite und dann das beispiel Flash MX 3D Cube.
oops ist offline   Mit Zitat antworten
Alt 19-02-2004, 15:15   #8 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
klappt doch einfach werte ändern... hier, so funzts!:
ActionScript:
  1. function draw_solid(thePoints,theFaces, opacity){
  2.     _root.persp.clear();
  3.     _root.persp.lineStyle(0.1, 0xff00ff, 100); //habe hier mal verändert und es funzt!
  4.     for (i=0;i<theFaces.length;i++){
  5.         _root.persp.beginFill(theFaces[i][4],opacity);
  6.         _root.persp.moveTo(thePoints[ (theFaces[i][0]) ][0],thePoints[ (theFaces[i][0]) ][1]);
  7.         _root.persp.lineTo(thePoints[ (theFaces[i][1]) ][0],thePoints[ (theFaces[i][1]) ][1]);
  8.         _root.persp.lineTo(thePoints[ (theFaces[i][2]) ][0],thePoints[ (theFaces[i][2]) ][1]);
  9.         _root.persp.lineTo(thePoints[ (theFaces[i][3]) ][0],thePoints[ (theFaces[i][3]) ][1]);
  10.         _root.persp.endFill();
  11.     }
  12. }

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar 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 20:43 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele