login  Naam:   Wachtwoord: 
Registreer je!
 Forum

actionscript variabel

Offline roy - 19/08/2007 11:40 (laatste wijziging 19/08/2007 13:41)
Avatar van royPHP gevorderde Beste allemaal,

Ik heb een functie:

  1. function buildThumbs():Void {
  2. var len:Number = images.length;
  3. //SEE NOTE 1
  4. var spacing:Number = 130;
  5. panelRightStop = -(len*spacing - stroke._width);
  6. trace(panelRightStop);
  7. trace(len);
  8. for (var i:Number = 0; i < 1; i++) {
  9. var button:MovieClip = panel.attachMovie("thumbnail", "btn"+i, i);
  10. button._x = i * spacing;
  11. trace(targ._yscale);
  12. trace(button._x);
  13. mcl.loadClip(thumbPrefix + images[i], button.img_mc);
  14. trace(images[i]);
  15. button.image = fullPrefix + images[i];
  16. button.link = earls[i];//SEE NOTE 2
  17. button.onRollOver = function():Void {
  18. this.gotoAndStop(2);
  19. }
  20. button.onRollOut = function():Void {
  21. this.gotoAndStop(1);
  22. }
  23.  
  24. button.onRelease = function() {
  25. getURL(this.link, "_self");
  26. }
  27.  
  28. photo_mc.onRelease = function() {//SEE NOTE 4
  29. getURL(gotoEarl,"_blank");
  30. }
  31. }
  32. panel._x = -(panel._width - Stage.width)/2;
  33. }


Deze maakt plaatjes als button.

Ik heb ook deze functie:
  1. function onLoadInit(targ:MovieClip):Void {
  2. targ._height = 60;
  3. targ._xscale = targ._yscale;
  4. trace(targ._yscale);
  5. }


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
Offline vinTage - 19/08/2007 11:47
Avatar van vinTage Nieuw lid
  1. var ditWilIkWeten:Number
  2.  
  3. function onLoadInit(targ:MovieClip):Void {
  4. targ._height = 60;
  5. targ._xscale = targ._yscale;
  6. ditWilIkWeten = targ._yscale
  7. }
  8.  
  9. function buildThumbs():Void {
  10. trace(ditWilIkWeten);
  11. //etc


Offline roy - 19/08/2007 11:51
Avatar van roy PHP gevorderde dat heb ik gedaan, maar hij zegt in het debug menu "undefined"
Offline vinTage - 19/08/2007 12:00
Avatar van vinTage Nieuw lid Heb je wel een listener erbij (die de onloadinit) gebruikt ?
Offline roy - 19/08/2007 12:09
Avatar van roy PHP gevorderde ja,


  1. var mcl:MovieClipLoader = new MovieClipLoader();
  2. mcl.addListener(this);


deze staat boven de functie waarvan ik de waarde wil hebben.

Zal ik je anders de gehele code sturen?
Offline vinTage - 19/08/2007 12:17 (laatste wijziging 19/08/2007 12:24)
Avatar van vinTage Nieuw lid
  1. var mclListener:Object = new Object();
  2.  
  3. mclListener.onLoadInit = function(targ:MovieClip) {
  4. targ._height = 60;
  5. targ._xscale = targ._yscale;
  6. ditWilIkWeten = targ._yscale;
  7.  
  8. dubbelCheck();
  9. };
  10.  
  11. var mcl:MovieClipLoader = new MovieClipLoader();
  12.  
  13. function dubbelCheck(){
  14. trace("dubbelcheck geeft "+ditWilIkWeten+" als waarde");
  15. }
  16. 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.
Offline roy - 19/08/2007 13:04
Avatar van roy 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()?
Offline vinTage - 19/08/2007 13:40
Avatar van vinTage Nieuw lid De width (na het scalen) vraag je zo op
  1. mclListener.onLoadInit = function(targ:MovieClip) {
  2. targ._height = 60;
  3. targ._xscale = targ._yscale;
  4. ditWilIkWeten = targ._width;
  5. };


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
Offline roy - 19/08/2007 13:50
Avatar van roy PHP gevorderde dat kan inderdaad wel, maar dan verkleind ie de plaatjes niet meer...

Offline vinTage - 19/08/2007 14:09
Avatar van vinTage Nieuw lid Dan moet je eens een nieuwe functie maken, zodra alles is geladen.

  1. var len:Number; //global maken
  2. function buildThumbs():Void {
  3. len = images.length; //bepalen
  4. //etc
  5.  
  6. //einde van de hele meuk, dan positioneren
  7. pos();
  8. }
  9.  
  10. mclListener.onLoadInit = function(targ:MovieClip) {
  11. targ._height = 60;
  12. targ._xscale = targ._yscale;
  13. };
  14.  
  15. var spatie:Number = 10; //pixels
  16. function pos(){
  17. for(var i:Number = 0; i<len; i++){
  18. panel["btn"+i+1]._x = i+panel["btn"+i]._width+spatie
  19. }
  20. }


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..
Offline roy - 19/08/2007 14:28 (laatste wijziging 19/08/2007 14:43)
Avatar van roy 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
Offline vinTage - 19/08/2007 15:52 (laatste wijziging 19/08/2007 15:53)
Avatar van vinTage Nieuw lid
  1. var len:Number; //global maken
  2. function buildThumbs():Void {
  3. len = images.length; //bepalen
  4. //etc
  5. }
  6.  
  7. var mcl:MovieClipLoader = new MovieClipLoader();
  8. mcl.addListener(this);
  9. function onLoadInit(targ:MovieClip):Void {
  10. targ._height = 60;
  11. targ._xscale = targ._yscale;
  12. pos();
  13. }
  14.  
  15. var spatie:Number = 10; //pixels
  16. function pos(){
  17. for(var i:Number = 0; i<len; i++){
  18. var c:Number = i+1
  19. _root.panel["btn"+c]._x = _root.panel["btn"+i]._width+spatie + (_root.panel["btn"+i]._x)
  20. }
  21. }


Die len moet je wel maken zoals ik doe in het vb !!!
Offline roy - 19/08/2007 15:59
Avatar van roy PHP gevorderde ja, ik heb nu dit:

  1. var len:Number; //global maken
  2. function buildThumbs():Void {
  3. len = images.length;
  4. //var len:Number = images.length;
  5. //SEE NOTE 1
  6. var spacing:Number = 130;
  7. panelRightStop = -(len*spacing - stroke._width);
  8. trace(panelRightStop);
  9. trace(len);
  10. for (var i:Number = 0; i < len; i++) {
  11. var button:MovieClip = panel.attachMovie("thumbnail", "btn"+i, i);
  12. //button._x = i * spacing;
  13. trace(ditWilIkWeten);
  14. trace(button._x);
  15. mcl.loadClip(thumbPrefix + images[i], button.img_mc);
  16. trace(images[i]);
  17. button.image = fullPrefix + images[i];
  18. button.link = earls[i];//SEE NOTE 2
  19. button.onRollOver = function():Void {
  20. this.gotoAndStop(2);
  21. }
  22. button.onRollOut = function():Void {
  23. this.gotoAndStop(1);
  24. }
  25.  
  26. button.onRelease = function() {
  27. getURL(this.link, "_self");
  28. }
  29.  
  30. photo_mc.onRelease = function() {//SEE NOTE 4
  31. getURL(gotoEarl,"_blank");
  32. }
  33. }
  34. panel._x = -(panel._width - Stage.width)/2;
  35. pos();
  36. }
  37.  
  38. var mcl:MovieClipLoader = new MovieClipLoader();
  39. mcl.addListener(this);
  40. function onLoadInit(targ:MovieClip):Void {
  41. targ._height = 60;
  42. targ._xscale = targ._yscale;
  43. }
  44.  
  45.  
  46. function zeroPad(num:Number, places:Number):String {
  47. var numAsString = String(num);
  48. while (numAsString.length < places) {
  49. numAsString = "0" + numAsString;
  50. }
  51. return numAsString;
  52. }
  53.  
  54. var spatie:Number = 10; //pixels
  55. function pos(){
  56. for(var i:Number = 0; i<len; i++){
  57. panel["btn"+i+1]._x = i+panel["btn"+i]._width+spatie;
  58. }
  59. }


Alleen de posities werken niet goed en panelRightStop werkt niet
Offline vinTage - 19/08/2007 16:05
Avatar van vinTage 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
Offline roy - 19/08/2007 16:21
Avatar van roy 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()
Offline vinTage - 19/08/2007 16:26
Avatar van vinTage Nieuw lid goh, zelf verzonnen ? 
Offline roy - 19/08/2007 17:06 (laatste wijziging 20/08/2007 22:36)
Avatar van roy 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
Offline vinTage - 21/08/2007 07:04
Avatar van vinTage Nieuw lid Ik heb al gezegd hoe je ergens de width van kon opvragen.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.222s