Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-05-2004, 16:18   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Ort: Deutschland
Beiträge: 18
Maske - Action Script

Hallo,

ich lassen in einem Movieclip folgendes Script laufen:

x_position=30;
y_position=30;
this.createEmptyMovieClip("objekt1",1);
this["objekt1"]._x=x_position;
this["objekt1"]._y=y_position;
this["objekt1"]._xscale=100;
this["objekt1"]._yscale=100;
this.objekt1.loadMovie("objekt1.jpg", "GET");

Jetzt möchte ich das Bild durch eine Maske einschränken, nur leider funzt das nicht. Werden die Bilder zu früh geladen? Wie kann ich das Problem lösen?

Wie kann ich ein Bild das ich extern lade in der Größe verändern? Mit _xscale kann ich es scalieren, aber was mache ich wenn ich egal wie groß das Bild ist es auf 100x100 Pixel verkleiner bzw. vergößern will? Mit objekt1_height funzt das auch nicht bzw. so veränder ich ja nicht direkt das geladene Bild. Vielleicht hat da jemand ein Tip für mich!?
Zemmel ist offline   Mit Zitat antworten
Alt 18-05-2004, 17:29   #2 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Des mit _width und _height kannst erst festlegen nachdem des Bild geladen ist!!

Die anderen geschichte kannst vorher beschreiben!
ActionScript:
  1. x_position = 30;
  2. y_position = 30;
  3. this.createEmptyMovieClip("objekt1", 1);
  4. with ("objekt1") {
  5.     _x = x_position;
  6.     _y = y_position;
  7.     _xscale = 100;
  8.     _yscale = 100;
  9. }
  10. this.objekt1.loadMovie("clown.jpg");
  11. this.createEmptyMovieClip("ctr", 2);
  12. this.ctr.onEnterFrame = function() {
  13.     if (this._parent.objekt1._width>0) {
  14.         this._parent.objekt1._width = 50;
  15.         this._parent.objekt1._height = 50;
  16.     }
  17. };
__________________
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   Mit Zitat antworten
Alt 18-05-2004, 20:02   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Ort: Deutschland
Beiträge: 18
danke dir, kann mir vielleicht auch jemand bei dem Problem mit der Maske helfen?
Zemmel ist offline   Mit Zitat antworten
Alt 18-05-2004, 20:43   #4 (permalink)
.
 
Registriert seit: May 2003
Ort: bayern
Beiträge: 1.117
moin, moin
das mit dem maskieren funzt erst wenn du sicher stellst, das das bild geladen ist, z.B. mittels intervals, etwa so:


x_position = 30;
y_position = 30;
obj = this.createEmptyMovieClip("objekt1", 1);
with ("objekt1") {
_x = x_position;
_y = y_position;
_xscale = 100;
_yscale = 100;
}
this.objekt1.loadMovie("clown.jpg");
//this.objekt1.setMask(mask);
this.createEmptyMovieClip("ctr", 2);
this.ctr.onEnterFrame = function() {
if (this._parent.objekt1._width>0) {
this._parent.objekt1._width = 50;
this._parent.objekt1._height = 50;
}
};

myInt = setInterval(chkLoadPic,50);
function chkLoadPic() {
if (obj.getBytesTotal() > 10 && obj.getBytesLoaded() >= obj.getBytesTotal()) {
obj.setMask(mask);
clearInterval(myInt);
}
}
mooseMash ist offline   Mit Zitat antworten
Alt 18-05-2004, 21:45   #5 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Ort: Deutschland
Beiträge: 18
kann mir das mit der Maske vielleicht jemand etwas genauer erklären? Wie wende ich diese Zeile an bzw. was bedeutet das jetzt, wo oder wie muss ich eine Maske vorbereiten? Muss ich eine neues MC erstellen?

obj.setMask(mask);

Geändert von Zemmel (18-05-2004 um 21:47 Uhr)
Zemmel ist offline   Mit Zitat antworten
Alt 18-05-2004, 22:20   #6 (permalink)
.
 
Registriert seit: May 2003
Ort: bayern
Beiträge: 1.117
die maske ist ein eigener movieclip und zwar in der form in der du dein bild einschränken möchtest, diesen movieclip platzierst du dann und maskierst dein bild mit ihr

pic_mc --> der mc der dein bild lädt
maske_mc --> der mc der als maske dienen soll

dieser befehl nun maskiert deinen pic_mc
pic_mc.setMask(maske_mc);
mooseMash ist offline   Mit Zitat antworten
Alt 20-05-2004, 19:12   #7 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Ort: Deutschland
Beiträge: 18
Irgendwie funzt das leider nicht. Ich habe jetzt zwei Movieclips, einer heißt objekte_lauf (dort wird auch das Script ausgeführt) und der andere MC heißt objekte_lauf_mask (dort habe ich jetzt mal ein schwarzes rechteck erstellt). Beide MC habe ich auf den Hauptseite (oder wie auch immer das heißt) positioniert. Wo steckt das Problem?

x_position=0;
y_position=0;
width=120;
height=90;

this.createEmptyMovieClip("objekt1",1);
this["objekt1"]._x=x_position;
this["objekt1"]._y=y_position;
this["objekt1"]._xscale=100;
this["objekt1"]._yscale=100;
this.objekt1.loadMovie("objekt1.jpg");
this.createEmptyMovieClip("ctr1", 2);
this.ctr1.onEnterFrame = function() {
if (this._parent.objekt1._width>0) {
this._parent.objekt1._width = width;
this._parent.objekt1._height = height;
}
};




this.createEmptyMovieClip("objekt2",3);
this["objekt2"]._x=x_position;
this["objekt2"]._y=y_position+95;
this["objekt2"]._xscale=100;
this["objekt2"]._yscale=100;
this.objekt2.loadMovie("objekt2.jpg");
this.createEmptyMovieClip("ctr2", 4);
this.ctr2.onEnterFrame = function() {
if (this._parent.objekt2._width>0) {
this._parent.objekt2._width = width;
this._parent.objekt2._height = height;
}
};



this.createEmptyMovieClip("objekt3",5);
this["objekt3"]._x=x_position;
this["objekt3"]._y=y_position+190;
this["objekt3"]._xscale=100;
this["objekt3"]._yscale=100;
this.objekt3.loadMovie("objekt3.jpg");
this.createEmptyMovieClip("ctr3", 6);
this.ctr3.onEnterFrame = function() {
if (this._parent.objekt3._width>0) {
this._parent.objekt3._width = width;
this._parent.objekt3._height = height;
}
};



obj = this.createEmptyMovieClip("objekt4",7);
this["objekt4"]._x=x_position;
this["objekt4"]._y=y_position+285;
this["objekt4"]._xscale=100;
this["objekt4"]._yscale=100;
this.objekt4.loadMovie("objekt4.jpg");
this.createEmptyMovieClip("ctr4", 8);
this.ctr4.onEnterFrame = function() {
if (this._parent.objekt4._width>0) {
this._parent.objekt4._width = width;
this._parent.objekt4._height = height;
}
};


myInt = setInterval(chkLoadPic,50);
function chkLoadPic() {
if (obj.getBytesTotal() > 10 && obj.getBytesLoaded() >= obj.getBytesTotal()) {
objekte_lauf.setMask(objekte_lauf_mask);
clearInterval(myInt);
}
}
Zemmel ist offline   Mit Zitat antworten
Alt 21-05-2004, 16:25   #8 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Ort: Deutschland
Beiträge: 18
Keiner der mir heute noch auf die Sprünge helfen kann?
Zemmel ist offline   Mit Zitat antworten
Alt 22-05-2004, 13:38   #9 (permalink)
Neuer User
 
Registriert seit: Feb 2002
Ort: Deutschland
Beiträge: 18
*schups*
Zemmel 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 19:44 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele