PDA

Volledige versie bekijken : Loop en random plaatjes kiezen


bartvanstratum
%Europe/Berlin %006 %2005, 01:09
Hallo,

om meteen maar een idee te geven van wat ik eigenlijk zo'n beetje wil: http://testjes.vanstratum.com/banner_loop/
De bedoeling is om deze flash animatie boven in een website te zetten, maar dan moeten de wolkjes wel blijven komen / verdwijnen (een loop) en het liefst zodat de wolken boven in de banner willekeurig verschijnen en dan langzaam kleiner worden en zakken zodat het dus lijkt of ze naar achter verplaatsen.

Ik weet dat dit met het actionscript waarschijnlijk wel mogelijk zal zijn, maar hoe moet ik beginnen? Ik heb nog niet bijzonder veel verstand van Flash en MX2004 pro. Iemand een tip of handige tutorial?

Alvast bedankt,
Bart
vanstratum.com

marima
%Europe/Berlin %026 %2005, 01:38
Lijkt mij meer een kwestie van spelen met je tweens.

Jordy
%Europe/Berlin %071 %2005, 02:42
even een voorbeeldje voor je gemaakt :) met uitleg
Klik maar (http://jordy.flashcousins.nl/flashfocus/verkleinen.fla)

josko
%Europe/Berlin %399 %2005, 10:35
als je meerdere tweens maakt,zeg maar 20, en dan zegt in het eerste frame,aan het einde van iedere tween zeg je dat ie terug meot naar frame1 [gotoandplay(1);]
en dan het as van frame 1 :
var random = random(19)

if(random == 0) {
gotoandplay("eerste wolk")
}

en dat zo doortrekt, dan kom je denk ik wel ergens.
doe dit met drie layers en je bent er denk ik wel

bartvanstratum
%Europe/Berlin %411 %2005, 10:52
Ok, bedankt allemaal voor de snelle hulp.

Ik ga weer even spelen, als er nog vragen zijn laat ik wel weer wat van me horen :D

Groetjes,
Bart

Jordy
%Europe/Berlin %439 %2005, 11:32
als het is gelukt heh, kun je me even vertellen of je nog wat aan mn .fla heb gehad ? Vind ik wel leuk om te weten, en kijken wat volgende keer beter kan ;)

bartvanstratum
%Europe/Berlin %210 %2005, 06:03
als het is gelukt heh, kun je me even vertellen of je nog wat aan mn .fla heb gehad ? Vind ik wel leuk om te weten, en kijken wat volgende keer beter kan ;)

okidokie! Komt in orde :)
Je zal wel wat geduld moeten hebben want dit soort projectjes willen bij mij nog wel eens lang duren.. :D

Groetjes,
Bart

rackdoll
%Europe/Berlin %395 %2005, 10:29
wat natuurlijk ook makkelijk is is gewoon een loopje maken voor elke wolk...
dus je zet een onEnterFrame = function(){}
daarin zeg je dat de _y en de _x van de wolk kleiner worden...
dat doe je zodat de wolk steeds meer naar achter gaat...
dat kan je doen met wolk._y = wolk._y - 20;
zelfde geldt voor _x....
dan om de wolken kleiner te maken gebruik je...
wolk._yscale en wolk._xscale...
dus wolk._yscale = wolk._yscale - 20... of wolk._yscale -= 20; kan ook...
kloot er maar effe mee.....zet ze wel binnen de onEnterFrame.....
dan loopt ie en zal hij et in beweging zetten...
veel plezier :D

bartvanstratum
%Europe/Berlin %741 %2005, 18:47
Ik blijf maar gewoon vragen, erg ervaren met Flash ben ik nog niet. Als ik lastig word dan zeg het maar :rolleyes:

Jordy: je scriptje snap ik intussen en ik heb het werkende in mijn animatie. Vierkantje getekend, convert to movieclip, juiste naam enz. en het werkt. Klein beetje uitgebreid met de functie van 'Rackdoll' krijg ik het vierkantje ook zover om in een Y of X richting te verplaatsen. Echter, ik krijg het vierkantje niet zover om bij de switch van allerkleinst (<5pix) naar normaal (50px) ook weer naar de oorspronkelijke (Y & X) positie terug te springen. Ik verwacht haast dat ik hier:
if (Math.abs(this._width)<5) {
this._width = 80;
this._height = 80; iets toe moet voegen, maar wat?

Verder kreeg ik het scriptje met een simpel vierkantje wel aan de gang, maar met mijn mooie wolkenplaatjes wil het niet lukken. Het is een JPG, geconverteerd naar movieclip in MX2004. Alles lijkt hetzelfde als bij het vierkantje, maar bij de wolk wil alles niet werken.

wederom alvast bedankt!
Bart

theFlashWizard
%Europe/Berlin %743 %2005, 18:51
rackdoll,
wolk._y = wolk._y - 20;
kan ook zo:
wolk._y -= 20

en ik zou adviseren je script een btje apart te houde van je normale regels tekst.. dat houd het overzichtelijker..

en nu heb je overal een btje staan.. maak dan n completer voorbeeldje ook:

instancenameofwolk.onEnterFrame = function(){
this._x -= 10
this._y -= 10
this._xscale -= 5
this._yscale -= 5
}

bartvanstratum
%Europe/Berlin %807 %2005, 20:22
Ik ben intussen een stuk verder, ben erachter gekomen hoe ik de positie kan resetten naar een bepaalde X en Y waarde, en ook nog eens hoe ik met this._x = random(800); de positie willekeurig kan maken. Met verschillende layers met verschillende wolken die op verschillende plaatsen komen moet het denk ik wel een mooie animatie worden, het lijkt dan iig niet op een filmpje dat zich telkens opnieuw afspeelt.

Ik krijg het echter nog steeds niet met het plaatje van de wolk aan de gang.
Op: testjes.vanstratum.com/banner_loop/moving_cumuls_1.fla is mijn .fla bestand te vinden.
Als iemand zich toevallig verveelt en zich geroepen voelt om even naar mn bestand te kijken zou ik natuurlijk dolgelukkig zijn :D

Groetjes,
Bart

theFlashWizard
%Europe/Berlin %814 %2005, 20:32
hmm vreemd script geworde..
kijk je vierkantje verkleint wel omdat je daar wat vanaf haalt (-=) maar je wolkje, haal je niks vanaf he.. (=) dat is alleen gelijk maken aan namelijk..
mischien helpt dit:
http://www.actionscript.nl/data/tutmove.htm

bartvanstratum
%Europe/Berlin %824 %2005, 20:46
hmm vreemd script geworde..
kijk je vierkantje verkleint wel omdat je daar wat vanaf haalt (-=) maar je wolkje, haal je niks vanaf he.. (=) dat is alleen gelijk maken aan namelijk..
mischien helpt dit:
http://www.actionscript.nl/data/tutmove.htm

Beide scriptjes (bij zowel vierkant als wolk) zijn hetzelfde met uitzondering van this._width = 150; this._height = 120; omdat dit bij de wolk natuurlijk anders is.
Bedoel je de laatste regel van:
cumul._xscale -= verkleinFactor;
cumul._yscale -= verkleinFactor;
cumul._y -= +1;
?
Dit is idd anders dan bij het vierkantje, maar dit zou voor het verkleinen van de wolk toch geen verandering moeten geven, de laatste regel gaat toch alleen over het verplaatsen?

Inderdaad een mooie uitleg op die site! Zeker bruikbaar voor Flash-leken zoals ikzelf..

Bart

bartvanstratum
%Europe/Berlin %816 %2005, 20:36
Hmmz,

ik had 2 layers met in de ene het vierkantje en in de ander het wolkje. In beide layers had ik exact hetzelfde stukje code staan, alleen width en instance naam van het figuur aangepast. Hierbij werkte alleen het vierkantje, de wolk stond stil. Toen ik de layer van het vierkantje verwijderde werkte de wolk ineens wel.. :D

Blijkbaar (jaja, ik ben niet zo ervaren met scripts..) is het niet mogelijk om in één flash document 2x een script met dezelfde functie te hebben....?

Ik kan voorlopig weer vooruit, bedankt voor de vele reacties!
En voor Jordy: ga vooral door met het uitdelen van scriptjes! Ik weet dat het vaak beter is om zelf met vallen en opstaan tot een oplossing te komen, maar vaak is een kant en klaar scriptje toch wel handig om even in te spieken ;)

Groetjes,
Bart

theFlashWizard
%Europe/Berlin %826 %2005, 20:49
tuurlijk kan dat wel.. zolang je maar andere variabelen gebruikt, en andere instancenames en dus mc's aanspreekt..
en dat kan altijd gewoon op 1 layer hoor..

bartvanstratum
%Europe/Berlin %795 %2005, 20:06
Ok, volgende vraag:

De wolkjes die naar achter verdwijnen lijken steeds sneller naar achter te gaan. Logisch, per frame gaat er een pixel af (althans, bij Jordy's voorbeeld). Is het plaatje nog 50pix groot dan valt het niet zo op, is hij nog maar 2 pixels groot dan is hij bij het volgende frame ineens nog maar de helft van de vorige grootte.
Normaal (zonder actionscript) kan je hiervoor bij je tween 'easing' instellen. Om dit bij een actionscript te doen lees ik erg veel over Robert Penner's easing methodes, verder vind ik weinig.

Is er een andere (standaard) methode om easing bij een actionscript toe te passen? (Liefst) natuurlijk bruikbaar bij Jordy's script?

Groeten!
Bart

theFlashWizard
%Europe/Berlin %822 %2005, 20:45
easing kun je berekenen ;)
check deze site zou ik zeggen:
http://www.actionscript.nl/data/tutmove.htm