Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28-07-2006, 14:43   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 18
Question MovieClip der Bühne zuweisen

Hallo,

Ich habe folgende einfache .as-Klassendatei:
Code:
class MyMovie extends MovieClip
  { function MyMovie( iX:Number, iY:Number, iWidth:Number, iHeight:Number )
      { trace( 'Function: Constructor' );
      }   
    public function printLine( iX:Number, iY:Number, iX2:Number, iY2:Number ):Void
      { trace( 'Function: printLine' );
        this.lineStyle( 1, 0x000000, 100 );
        this.moveTo( iX, iY );
        this.lineTo( iX2, iY2 );
      }
  }
Im "Hauptfilm" befindet sich nur 1 Bild in dem folgender Code hinterlegt ist:
Code:
var mvTest:MyMovie = new MyMovie( 40, 20, 200, 100 );
mvTest.printLine( 58, 27, 100, 83 );
Wenn man das nun startet zeigt die Ausgabe:
Code:
Function: Constructor
Function: printLine
Allerdings wird die Linie nicht gezeichnet. Ich denke mal das es daran liegt, dass das Movieclip-Objekt noch nicht der Bühne zugewiesen wurde - aber wie macht man das ?

Gruß
Plasm
Plasm ist offline   Mit Zitat antworten
Alt 28-07-2006, 15:17   #2 (permalink)
Neuer User
 
Benutzerbild von Xeef
 
Registriert seit: Sep 2004
Ort: Spain/Ibiza
Beiträge: 942
das geht so nicht !

du must diese classe an einem movieclip in der library linken
und diesen clip dan per attachmovi... and die buhne holen !

oder du must ein clip per createEmptyM.... erstelen den du dan zum zeichnen verwendest
dan erubrigt sich alerdings "extends Movi..."
__________________
Languages : (in the order of knowledge/preference)
Read: Flash AS, PHP, JS, Html, DHtml, Basic, C++, DOS, 3DMaxScript, English, Deutsch, Magyar, XML, Pascal, VB, Spanish
Write: Flash AS, Basic, PHP, JS, DHtml, Html, ..., C++, ...., ..., English, ..., ..., ..., ...., Deutsch, ..., Magyar

wen du mein deutsch nicht magst whele eine andere sparache von den obrigen ;)
Xeef ist offline   Mit Zitat antworten
Alt 31-07-2006, 16:17   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 18
Ich habe jetzt ein Symbol angelegt (Name: movie) und es der AS-Klasse zugewiesen. Der Aufruf der Klasse sieht jetzt so aus:

Code:
_root.attachMovie( "movie", "test_mc", 10 );
test_mv.printLine( 58, 27, 100, 83 );
Wenn ich jetzt starte erscheint die Linie. Im Ausgabefenster steht das Gleiche wie vorher (Constructor, printLine).

Allerdings wird der Konstruktor dann ohne Parameter aufgerufen, somit sind die Variablen alle Undefined. Gibt es eine Möglichkeit Parameter direkt mit dem Konstruktor zu übergeben ? Die Alternative wäre sonst den Konstruktor ganz wegzulassen und eine Funktion zu erstellen die ich direkt nach dem Erstellen des Objektes aufrufe, der ich dann die Werte übergebe.

Gruß
Plasm
Plasm ist offline   Mit Zitat antworten
Alt 31-07-2006, 16:35   #4 (permalink)
Neuer User
 
Benutzerbild von Xeef
 
Registriert seit: Sep 2004
Ort: Spain/Ibiza
Beiträge: 942
jain


ActionScript:
  1. class MyMovie extends MovieClip {
  2. var Xeef
  3. function MyMovie() {
  4.  trace( Xeef );
  5.  }   
  6. //bla bla ....
  7. ////////////////////////////////////////////////
  8. //
  9. _root.attachMovie( "movie", "test_mc", 10,{Xeef:"Hallo By Xeef"} );
__________________
Languages : (in the order of knowledge/preference)
Read: Flash AS, PHP, JS, Html, DHtml, Basic, C++, DOS, 3DMaxScript, English, Deutsch, Magyar, XML, Pascal, VB, Spanish
Write: Flash AS, Basic, PHP, JS, DHtml, Html, ..., C++, ...., ..., English, ..., ..., ..., ...., Deutsch, ..., Magyar

wen du mein deutsch nicht magst whele eine andere sparache von den obrigen ;)
Xeef ist offline   Mit Zitat antworten
Alt 01-08-2006, 15:44   #5 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 18
Klappt prima! Danke!
Plasm ist offline   Mit Zitat antworten
Alt 01-08-2006, 15:59   #6 (permalink)
Flash Gordon
 
Benutzerbild von McUsher
 
Registriert seit: Jul 2006
Beiträge: 190
Vielleicht noch nen kleiner Tipp:

Ich mach dat dann immer so tun:
PHP-Code:
var myMovieInstance:MyMovie MyMovie_root.attachMovie"movie""test_mc"10,{Xeef:"Hallo By Xeef"} ) ); 
Hängt natürlich bissi vom Editor ab, ob das ne Hilfe ist, oder nur unnötiges Geschreibsel
McUsher ist offline   Mit Zitat antworten
Alt 02-08-2006, 11:51   #7 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 18
Hmm, dann hat man ja 2 Namen mit denen man auf dieselbe Instanz zugreifen kann. myMovieInstance und test_mc.
Ich glaub ich bleib bei der Variante von Xeef. Danke aber für den Hinweis.
Plasm ist offline   Mit Zitat antworten
Alt 02-08-2006, 13:52   #8 (permalink)
Flash Gordon
 
Benutzerbild von McUsher
 
Registriert seit: Jul 2006
Beiträge: 190
Aber "test_mc" ist nur irgendeine ID auf der Bühne,
der tut ja Bei OOP nix zur Sache
Sprich: Den Namen "test_mc" wirste nirgendwo wieder brauchen,
außer du hast etwas (im Sinne von OOP) falsch gemacht.
McUsher ist offline   Mit Zitat antworten
Alt 02-08-2006, 14:08   #9 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Beiträge: 18
Man könnte aber auch mit test_mc auf das Objekt zugreifen. Ob man das dann auch macht oder ob es sinnvoll ist sei mal dahin gestellt.
Plasm ist offline   Mit Zitat antworten
Alt 02-08-2006, 14:16   #10 (permalink)
Neuer User
 
Benutzerbild von Xeef
 
Registriert seit: Sep 2004
Ort: Spain/Ibiza
Beiträge: 942
warum ?

erstens ist es ja nur ein beispiel

zweitens :

_root.attachMovie( "movie", "StatusAnzeige_mc", 10,{Xeef:"Hallo By Xeef"} );

ich werde im ganzen project nur EIN StatusAnzeige_mc haben
nicht mehr nicht weniger !
warum ein zweiter name dafur ?

////////


wen ich so was habe :

_root.attachMovie( "movie", "_mc"+MyLoopVar, 10,{Xeef:"Hallo By Xeef"} );
mach ich im normal fall was du beschriben hast
aber nicht weil es mehr OOP ist sondern der einfachheits halber

_mc=_root.attachMovie( "movie", "_mc"+MyLoopVar, 10,{Xeef:"Hallo By Xeef"} );
_mc._x=123
_mc.wasAndreres="Bla"

wurde aber ganauso mit
_root["_mc"+MyLoopVar].....
gehen


dritens

Zitat:
Den Namen "test_mc" wirste nirgendwo wieder brauchen,
außer du hast etwas (im Sinne von OOP) falsch gemacht.
na dan wirst "myMovieInstance" erst recht nicht brauchen


viertens
myMovieIntanceS=[]
myMovieIntanceS.push(_root.attachMovie( "movie", "_mc"+MyLoopVar, 10,{Xeef:"Hallo By Xeef"} ))
ist schon eher OOP wurd ich aber im constructor machen
__________________
Languages : (in the order of knowledge/preference)
Read: Flash AS, PHP, JS, Html, DHtml, Basic, C++, DOS, 3DMaxScript, English, Deutsch, Magyar, XML, Pascal, VB, Spanish
Write: Flash AS, Basic, PHP, JS, DHtml, Html, ..., C++, ...., ..., English, ..., ..., ..., ...., Deutsch, ..., Magyar

wen du mein deutsch nicht magst whele eine andere sparache von den obrigen ;)
Xeef 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 23:43 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele