flash actionscript eval probleem

Pagina: 1
Acties:

  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05-2025
Na veel zoeken op actionscript fora en googlen heb ik nog geen antwoord gevonden op mijn scriptprobleempje :(

Dit is het geval:

Ik heb een onbekend aantal variabelen die ik als ze bestaan toe wil wijzen aan een movieclip.

frame1:
dir1 = 'blala'
dir2 = 'bladibela'
z=1

frame2:
curdir = eval ("dir" add z);
if (curdir != "") {
duplicateMovieClip("star", "dir" add z, z);
setProperty("dir" add z, _y, 10+(30*z));
}
z++;

frame 3:

goto 2


met deze code zou ik 2 clips moeten krijgen, echter hij blijft oneindig doorgaan.
Op de een of andere manier geeft de eval functie geen '' terug als een variabele niet bestaat.

Wat doe ik hier fout?

Mijn rig


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Flash zit bij de buren van Webdesign & Graphics, zie de FAQ's hier en daar.

* curry684 trapt 'm maar weer eens over de schutting :+

Professionele website nodig?


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-08 23:56

Janoz

Moderator Devschuur®

!litemod

Is het misschien een ID om naar arrays te gaan kijken? Eval verschilt immers niet voor niks 1 letter van evil >:)..

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

in as kon je toch ook zoiets doen als _root['dir'+z] (analoog aan js), is pas nog een topic over geweest

  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05-2025
Verwijderd schreef op 26 August 2003 @ 13:38:
in as kon je toch ook zoiets doen als _root['dir'+z] (analoog aan js), is pas nog een topic over geweest
dat is niet mijn probleem. De eval geeft geen waarde van '' terug als ie checked of dir3 bestaat (wat dus niet zo is in dit voorbeeld).

Mijn rig


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 09:46

crisp

Devver

Pixelated

je eval geeft ws undefined terug ;)

dit is trouwens mi de mooie oplossing (even op de JS manier, maar kan volgens mij ook 1 op 1 zo in AS):

Flash ActionScript:
1
2
3
4
5
6
7
var dirname = 'dir'+z;
var undefined;
if (_root[dirname] != undefined) {  // _root ben ik niet helemaal zeker hier
  var dir = _root[dirname];
  duplicateMovieClip("star", dir, z); // ik denk dat je hier object references moet gebruiken
  setProperty(dir, _y, 10+(30*z));  // en hier ook
}

[ Voor 86% gewijzigd door crisp op 26-08-2003 14:26 ]

Intentionally left blank


  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05-2025
whoot!

die undefined truc deed t m! thanx a million :)

Mijn rig


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

marko77 schreef op 26 August 2003 @ 14:39:
whoot!

die undefined truc deed t m! thanx a million :)
Het helpt ook wel om trace(msg) te gebruiken.

Had je je variabele getraced, dan had je zelf ondervonden dat een niet-bestaande variabele undefined retourneert :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05-2025
ik heb m niet getraced, maar ik had wel een textbox die m weergaf en daar stond geen undefined in :P

Mijn rig

Pagina: 1