Toon posts:

[Flash actionscript] Probleem...

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zit met een klein actionscript probleempje...

Ik ben een newby met flash dus neem het me vooral niet kwalijk...

Ik heb een stukje code wat een woord letter voor letter op het scherm laat verschijnen door middel van een decoderings effect (je ziet een aantal random letters waarna als de juiste letter tevoorschijn komt hij doorgaat naar de volgende letter)

Mijn vraag is hoe dit stukje script aangepast moet worden om in een keer alle letters met het decoderings effect te laten zien... en dus niet één voor één.

het gaat om het volgende stukje code:

textalg = "TEXT DIE JE WILT";
if (temp eq "") {
temp = 65;
}
text = text1+chr(temp);
temp = temp+Random(3)+1;
if (temp >= 90) {
temp = 65;
text1 = text1+textalg.charAt( m );
m = m+1;
if (m==textalg.length) {
text = text1;
gotoAndPlay (3);
}
if (textalg.charAt( m ) eq " ") {
text1 = text1+textalg.charAt( m );
m = m+1;
}
}

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 15-09 16:29
Gewoon zelf een string aanmaken met random tekens en dan in 1 keer die string vervangen door de juiste? Lijkt me juist stuk simpeler :).

Verwijderd

Topicstarter
dat zou inderdaad een stuk makkelijker zijn...

Alleen dan krijg je nooit een effect dat hij de ene letter sneller decodeert dan de andere... Nu ook wel niet maar dat ga ik wel proberen... :7

Verwijderd

zoiets ?

dit moet op je root tijdslijn :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
movieclip.prototype.text_scramble_load = function(text, steps){
    textsteps = new Array();
    textsteps[0] = text;
    for(n=0; n<=steps; n++){
        for(s=0; s<(textsteps[n].length); s++){
            textsteps[n+1] += chr(textsteps[n].charCodeAt(s)+(random(3)-1));
        }   
    }
    last = 0;
}

movieclip.prototype.text_scramble_enterFrame = function(){
    if(textsteps.length>0){
    _root.output = textsteps.pop();
    }
}

het gaat ervan uitdat het textveld _root.output is...

om het te laten werken moet je nu nog een mc plaatsen met daarin de volgende MC events:
code:
1
2
3
4
5
6
7
onClipEvent(load){
text_scramble_load('Dit is mischien een wel erg serieuse aanpak!', 10);
}

onClipEvent(enterFrame){
    text_scramble_enterFrame();
}

Wat dit ding doet?
je kan aangeven in hoeveel stappen hij de text moet hebben...
Wat hij doet is als init de string in een array zetten....dan transformeert hij de string door elk char een te verhogen, een te verlagen of gelijk te blijven...
Dit doet ie met elk char uit de string.....daarna gaat ie de getransformeerde string opnieuw transformeren.....

voorbeeld:
code:
1
2
3
4
5
6
Dit is mischien een wel erg serieuse aanpak!
Dhu jr nhsbiido!dfm vel!drh rerjdvte!b`noal"
Cgt!iq nhsbijcp dem vfm erh!seskdwse!c`npal"
Cgt!hr!nircikbqcfnwgl!drg!sfrjdxtf d`mp`l#
Dfu gs"misdikbpdfo xfm!eqh!tesjewug!e`nq_k#
Cgt!hr#nhsdjlcodeo yfn fqi"udridwuh!famp_j"

voorbeeld2:
code:
1
2
3
4
5
6
7
8
9
10
11
mmmmmmmmmmmmmmmmmmmm
lnnnnmnmnmlmnlnmllnn
kmnmonnnnlknmknnkmmn
jlolpmmnnljnlkmollnn
imompllmmljmljnollnn
hlonpkkmlljmkjnomlmn
impmpkkmlkinlknonlno
hlqmojlllkimkjmpmlon
hkrnoikkmjhnjjlqnkoo
ijsnnijjlignikmpmloo
hkrmnjijlignhjnpmlop

Daarna gaat ie elk frame de transformaties een voor een af door ze uit het array te 'poppen'...

Wel erg politiek correct geprogged, maar het werkt....op-nieuw niet het mooiste staaltje techniek, maar ach..

Verwijderd

Ik zie nu pas dat dit niet helemaal was wat je wilde....sorry....zal proberen nog ff een nieuwe source te posten met het gewenste f-ekt!

[edit:]
zit nu nl al aan mijn 5de whiskey....ermmmmmmmm
[/edit]

Verwijderd

Topicstarter
In ieder geval alvast bedankt...

Ik heb even op je site gekeken en d'r zitten wat coole dingen bij...
Pagina: 1