actionscript variabel
roy - 19/08/2007 11:40 (laatste wijziging 19/08/2007 13:41)
PHP gevorderde
Beste allemaal,
Ik heb een functie:
function buildThumbs():Void {
var len:Number = images.length;
//SEE NOTE 1
var spacing:Number = 130;
panelRightStop = -(len*spacing - stroke._width);
trace(panelRightStop);
trace(len);
for (var i:Number = 0; i < 1; i++) {
var button:MovieClip = panel.attachMovie("thumbnail", "btn"+i, i);
button._x = i * spacing;
trace(targ._yscale);
trace(button._x);
mcl.loadClip(thumbPrefix + images[i], button.img_mc);
trace(images[i]);
button.image = fullPrefix + images[i];
button.link = earls[i];//SEE NOTE 2
button.onRollOver = function():Void {
this.gotoAndStop(2);
}
button.onRollOut = function():Void {
this.gotoAndStop(1);
}
button.onRelease = function() {
getURL(this.link, "_self");
}
photo_mc.onRelease = function() {//SEE NOTE 4
getURL(gotoEarl,"_blank");
}
}
panel._x = -(panel._width - Stage.width)/2;
}
function buildThumbs( ) :Void {
var len:Number = images.length ;
//SEE NOTE 1
var spacing:Number = 130 ;
panelRightStop = -( len* spacing - stroke._width ) ;
trace ( panelRightStop) ;
trace ( len) ;
for ( var i:Number = 0 ; i < 1 ; i++) {
var button :MovieClip = panel.attachMovie ( "thumbnail" , "btn" +i, i) ;
button ._x = i * spacing;
trace ( targ._yscale ) ;
trace ( button ._x ) ;
mcl.loadClip ( thumbPrefix + images[ i] , button .img_mc ) ;
trace ( images[ i] ) ;
button .image = fullPrefix + images[ i] ;
button .link = earls[ i] ;//SEE NOTE 2
button .onRollOver = function ( ) :Void {
this .gotoAndStop ( 2 ) ;
}
button .onRollOut = function ( ) :Void {
this .gotoAndStop ( 1 ) ;
}
button .onRelease = function ( ) {
getURL ( this .link , "_self" ) ;
}
photo_mc.onRelease = function ( ) { //SEE NOTE 4
getURL ( gotoEarl,"_blank" ) ;
}
}
panel._x = -( panel._width - Stage .width ) / 2 ;
}
Deze maakt plaatjes als button.
Ik heb ook deze functie:
function onLoadInit(targ:MovieClip):Void {
targ._height = 60;
targ._xscale = targ._yscale;
trace(targ._yscale);
}
function onLoadInit ( targ:MovieClip ) :Void {
targ._height = 60 ;
targ._xscale = targ._yscale ;
trace ( targ._yscale ) ;
}
Hierin staat de breedte van het plaatje. Hoe kan ik de waarde van targ._yscale beschikbaar maken in de buildthumbsfunctie?
Groeten,
Roy
17 antwoorden
Gesponsorde links
vinTage - 19/08/2007 11:47
Nieuw lid
var ditWilIkWeten:Number
function onLoadInit(targ:MovieClip):Void {
targ._height = 60;
targ._xscale = targ._yscale;
ditWilIkWeten = targ._yscale
}
function buildThumbs():Void {
trace(ditWilIkWeten);
//etc
var ditWilIkWeten:Number
function onLoadInit ( targ:MovieClip ) :Void {
targ._height = 60 ;
targ._xscale = targ._yscale ;
ditWilIkWeten = targ._yscale
}
function buildThumbs( ) :Void {
trace ( ditWilIkWeten) ;
//etc
roy - 19/08/2007 11:51
PHP gevorderde
dat heb ik gedaan, maar hij zegt in het debug menu "undefined"
vinTage - 19/08/2007 12:00
Nieuw lid
Heb je wel een listener erbij (die de onloadinit) gebruikt ?
roy - 19/08/2007 12:09
PHP gevorderde
ja,
var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(this);
var mcl:MovieClipLoader = new MovieClipLoader ( ) ;
mcl.addListener ( this ) ;
deze staat boven de functie waarvan ik de waarde wil hebben.
Zal ik je anders de gehele code sturen?
vinTage - 19/08/2007 12:17 (laatste wijziging 19/08/2007 12:24)
Nieuw lid
var mclListener:Object = new Object();
mclListener.onLoadInit = function(targ:MovieClip) {
targ._height = 60;
targ._xscale = targ._yscale;
ditWilIkWeten = targ._yscale;
dubbelCheck();
};
var mcl:MovieClipLoader = new MovieClipLoader();
function dubbelCheck(){
trace("dubbelcheck geeft "+ditWilIkWeten+" als waarde");
}
mcl.addListener(mclListener);
var mclListener:Object = new Object ( ) ;
mclListener.onLoadInit = function ( targ:MovieClip ) {
targ._height = 60 ;
targ._xscale = targ._yscale ;
ditWilIkWeten = targ._yscale ;
dubbelCheck( ) ;
} ;
var mcl:MovieClipLoader = new MovieClipLoader ( ) ;
function dubbelCheck( ) {
trace ( "dubbelcheck geeft " +ditWilIkWeten+" als waarde" ) ;
}
mcl.addListener ( mclListener) ;
Als je undefined krijgt via de buildthumbs, dan komt dat doordat die functie eerder aangeroepen, dus voordat die onloadinit "klaar" is.
Probeer dan die loaders en listeners IN die functie te zetten.
roy - 19/08/2007 13:04
PHP gevorderde
dat wil zeggen: de hoogte van de afbeelding is altijd 60 en daarbij scaled hij het plaatje. van dat uiteindelijke plaatje wil ik de width gebruiken in buildthumbs(); want hiermee kan je de positie van het volgende plaatje berekenen.
Hoe kom ik aan de breedte van het plaatje en hoe gebruik ik deze in buildthumbs()?
vinTage - 19/08/2007 13:40
Nieuw lid
De width (na het scalen) vraag je zo op
mclListener.onLoadInit = function(targ:MovieClip) {
targ._height = 60;
targ._xscale = targ._yscale;
ditWilIkWeten = targ._width;
};
mclListener.onLoadInit = function ( targ:MovieClip ) {
targ._height = 60 ;
targ._xscale = targ._yscale ;
ditWilIkWeten = targ._width ;
} ;
Je kan proberen (geen idee of dat lukt) om die onloadinit meuk in de forloop te planten en adh daarvan de _x pos te bepalen
roy - 19/08/2007 13:50
PHP gevorderde
dat kan inderdaad wel, maar dan verkleind ie de plaatjes niet meer...
vinTage - 19/08/2007 14:09
Nieuw lid
Dan moet je eens een nieuwe functie maken, zodra alles is geladen.
var len:Number; //global maken
function buildThumbs():Void {
len = images.length; //bepalen
//etc
//einde van de hele meuk, dan positioneren
pos();
}
mclListener.onLoadInit = function(targ:MovieClip) {
targ._height = 60;
targ._xscale = targ._yscale;
};
var spatie:Number = 10; //pixels
function pos(){
for(var i:Number = 0; i<len; i++){
panel["btn"+i+1]._x = i+panel["btn"+i]._width+spatie
}
}
var len:Number ; //global maken
function buildThumbs( ) :Void {
len = images.length ; //bepalen
//etc
//einde van de hele meuk, dan positioneren
pos( ) ;
}
mclListener.onLoadInit = function ( targ:MovieClip ) {
targ._height = 60 ;
targ._xscale = targ._yscale ;
} ;
var spatie:Number = 10 ; //pixels
function pos( ) {
for ( var i:Number = 0 ; i< len; i++) {
panel[ "btn" +i+1 ] ._x = i+panel[ "btn" +i] ._width +spatie
}
}
Uit het losse handje getyped, dus kan wel wat errors geven.
Upload anders eens een zip met daarin ALLE bestanden..xml/images/fla, dan kunnen we fatsoenlijker meedenken..
roy - 19/08/2007 14:28 (laatste wijziging 19/08/2007 14:43)
PHP gevorderde
hierbij alle bestanden:
http://www.rdekleijn.nl/gallery2.zip
dus wat jij voorsteld is in buildthumbs() alleen de plaatjes te laden en ze later te positioneren?
Ik hoop dat je er even naar wilt kijken
vinTage - 19/08/2007 15:52 (laatste wijziging 19/08/2007 15:53)
Nieuw lid
var len:Number; //global maken
function buildThumbs():Void {
len = images.length; //bepalen
//etc
}
var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(this);
function onLoadInit(targ:MovieClip):Void {
targ._height = 60;
targ._xscale = targ._yscale;
pos();
}
var spatie:Number = 10; //pixels
function pos(){
for(var i:Number = 0; i<len; i++){
var c:Number = i+1
_root.panel["btn"+c]._x = _root.panel["btn"+i]._width+spatie + (_root.panel["btn"+i]._x)
}
}
var len:Number ; //global maken
function buildThumbs( ) :Void {
len = images.length ; //bepalen
//etc
}
var mcl:MovieClipLoader = new MovieClipLoader ( ) ;
mcl.addListener ( this ) ;
function onLoadInit ( targ:MovieClip ) :Void {
targ._height = 60 ;
targ._xscale = targ._yscale ;
pos( ) ;
}
var spatie:Number = 10 ; //pixels
function pos( ) {
for ( var i:Number = 0 ; i< len; i++) {
var c:Number = i+1
_root .panel [ "btn" +c] ._x = _root .panel [ "btn" +i] ._width +spatie + ( _root .panel [ "btn" +i] ._x )
}
}
Die len moet je wel maken zoals ik doe in het vb !!!
roy - 19/08/2007 15:59
PHP gevorderde
ja, ik heb nu dit:
var len:Number; //global maken
function buildThumbs():Void {
len = images.length;
//var len:Number = images.length;
//SEE NOTE 1
var spacing:Number = 130;
panelRightStop = -(len*spacing - stroke._width);
trace(panelRightStop);
trace(len);
for (var i:Number = 0; i < len; i++) {
var button:MovieClip = panel.attachMovie("thumbnail", "btn"+i, i);
//button._x = i * spacing;
trace(ditWilIkWeten);
trace(button._x);
mcl.loadClip(thumbPrefix + images[i], button.img_mc);
trace(images[i]);
button.image = fullPrefix + images[i];
button.link = earls[i];//SEE NOTE 2
button.onRollOver = function():Void {
this.gotoAndStop(2);
}
button.onRollOut = function():Void {
this.gotoAndStop(1);
}
button.onRelease = function() {
getURL(this.link, "_self");
}
photo_mc.onRelease = function() {//SEE NOTE 4
getURL(gotoEarl,"_blank");
}
}
panel._x = -(panel._width - Stage.width)/2;
pos();
}
var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(this);
function onLoadInit(targ:MovieClip):Void {
targ._height = 60;
targ._xscale = targ._yscale;
}
function zeroPad(num:Number, places:Number):String {
var numAsString = String(num);
while (numAsString.length < places) {
numAsString = "0" + numAsString;
}
return numAsString;
}
var spatie:Number = 10; //pixels
function pos(){
for(var i:Number = 0; i<len; i++){
panel["btn"+i+1]._x = i+panel["btn"+i]._width+spatie;
}
}
var len:Number ; //global maken
function buildThumbs( ) :Void {
len = images.length ;
//var len:Number = images.length;
//SEE NOTE 1
var spacing:Number = 130 ;
panelRightStop = -( len* spacing - stroke._width ) ;
trace ( panelRightStop) ;
trace ( len) ;
for ( var i:Number = 0 ; i < len; i++) {
var button :MovieClip = panel.attachMovie ( "thumbnail" , "btn" +i, i) ;
//button._x = i * spacing;
trace ( ditWilIkWeten) ;
trace ( button ._x ) ;
mcl.loadClip ( thumbPrefix + images[ i] , button .img_mc ) ;
trace ( images[ i] ) ;
button .image = fullPrefix + images[ i] ;
button .link = earls[ i] ;//SEE NOTE 2
button .onRollOver = function ( ) :Void {
this .gotoAndStop ( 2 ) ;
}
button .onRollOut = function ( ) :Void {
this .gotoAndStop ( 1 ) ;
}
button .onRelease = function ( ) {
getURL ( this .link , "_self" ) ;
}
photo_mc.onRelease = function ( ) { //SEE NOTE 4
getURL ( gotoEarl,"_blank" ) ;
}
}
panel._x = -( panel._width - Stage .width ) / 2 ;
pos( ) ;
}
var mcl:MovieClipLoader = new MovieClipLoader ( ) ;
mcl.addListener ( this ) ;
function onLoadInit ( targ:MovieClip ) :Void {
targ._height = 60 ;
targ._xscale = targ._yscale ;
}
function zeroPad( num:Number , places:Number ) :String {
var numAsString = String ( num) ;
while ( numAsString.length < places) {
numAsString = "0" + numAsString;
}
return numAsString;
}
var spatie:Number = 10 ; //pixels
function pos( ) {
for ( var i:Number = 0 ; i< len; i++) {
panel[ "btn" +i+1 ] ._x = i+panel[ "btn" +i] ._width +spatie;
}
}
Alleen de posities werken niet goed en panelRightStop werkt niet
vinTage - 19/08/2007 16:05
Nieuw lid
Citaat:
Alleen de posities werken niet goed en panelRightStop werkt niet
Kijk mn script, pas dat toe, en roep dan nog eens.
Die rightstop moet je gewoon zelf maken in pos()
Nu maak je die aan dmv die 130 in de thumbmeuk, doe dat dmv panel._width in de pos() functie
roy - 19/08/2007 16:21
PHP gevorderde
ok, het werkt!
alleen hij gaat te ver naar links, maar dat is misschien ook verholpen als ik die rightstop opnieuw maak in pos()
roy - 19/08/2007 17:06 (laatste wijziging 20/08/2007 22:36)
PHP gevorderde
hoe tel je die breedte's van de plaatjes en de lege ruimtes bij elkaar op in pos()????
om panelRightStop te krijgen?
Je wil weten hoe breed het is, want je moet ook weten waar het panel moet starten
Groeten Roy
vinTage - 21/08/2007 07:04
Nieuw lid
Ik heb al gezegd hoe je ergens de width van kon opvragen.
Gesponsorde links
Dit onderwerp is gesloten .