| antec sx840 | P4 1.7 | intel 850 mv | 512Mb kingston ecc | matroxG550 | adaptec29160 | atlas 10K III 18Gb | seagate barracuda IV 40Gb | plextor 40x | Iiyama17" | w2k pro | lappie: Dell inspiron 8100 | 1,2G/512/15"/48Gb/dvdcdrw/GF2go32Mb/lan/5
| antec sx840 | P4 1.7 | intel 850 mv | 512Mb kingston ecc | matroxG550 | adaptec29160 | atlas 10K III 18Gb | seagate barracuda IV 40Gb | plextor 40x | Iiyama17" | w2k pro | lappie: Dell inspiron 8100 | 1,2G/512/15"/48Gb/dvdcdrw/GF2go32Mb/lan/5
hoeveel fps heb je?niXnut schreef op 03 september 2002 @ 15:26:
neuh, want dan sprint ie heel langzaam van links naar rechts, het is juist de bedoeling dat ie met kleine tussenstapjes naar het opgegeven coordinaat verplaatst
dan moet je dus zorgen dat ie zoveel "kleine" tussenstapjes per seconde maakt...
(lijkt me logisch??)
ik genereer een x- en y coordinaat bijv. x340, y75
als ik dan bijvoorbeeld uit ga van startpunt x0, y0
dan springt ie binnen een frame van x0, y0 ---> x340, y75
en dan krijgt ie weer nieuwe coordinaten.
ik wil dat ie pixel voor pixel naar dat coordinaat 'toeloopt'
ik zal dus iets met 1 op moeten hogen tot ie op de coordinaten aangekomen is.
heeft dus niets (weinig) met fps te maken
| antec sx840 | P4 1.7 | intel 850 mv | 512Mb kingston ecc | matroxG550 | adaptec29160 | atlas 10K III 18Gb | seagate barracuda IV 40Gb | plextor 40x | Iiyama17" | w2k pro | lappie: Dell inspiron 8100 | 1,2G/512/15"/48Gb/dvdcdrw/GF2go32Mb/lan/5
randomGetalX = random(10) - 5;
randomGetalY = random(10) - 5;
setProperty("mc", _x, getProperty("mc", _x)+randomGetalX);
setProperty("mc", _y, getProperty("mc", _y)+randomGetalY);
Verwijderd
Dan blijft het de hele tijd op een heel klein oppervlak een beetje rondtrillen, hij zal nooit een lange lijn maken.CrashOne schreef op 03 september 2002 @ 15:49:
Je kan toch ook doen:
randomGetalX = random(10) - 5;
randomGetalY = random(10) - 5;
setProperty("mc", _x, getProperty("mc", _x)+randomGetalX);
setProperty("mc", _y, getProperty("mc", _y)+randomGetalY);
Heel simpel scriptje dat je zou kunnen gebruiken als clipevent voor een mc random movement:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| onClipEvent(load){
x=Math.random()*550;
y=Math.random()*400;
_x=Math.random()*550;
_y=Math.random()*400;
}
onClipEvent(enterFrame){
if(Math.random()*60>=56){
x=Math.random()*550;
y=Math.random()*400;
}else{
}
_x+=(x-_x)/6;
_y+=(y-_y)/6;
} |
targetx=400;
targety=400;
}
onClipEvent(enterFrame){
uiltje._x+=(uiltje._x-targetx)/20;
uiltje._y+=(uiltje._y-targety)/20;
}
Zoiets? De targetx en targety moet je ff goed invullen, maar dit geeft echt een prachtige ease-out
Oh ja, het kan dat je += in -= moet veranderen...
je moet trouwens wel eens in de zoveel tijd een nieuwe targetx en targety verzinnen, dus maak daar een functie van die je elke 100 frames aanroept of zo
Verwijderd
Tjah ik wil niet zeuren hoor maarehWeefselkweekje schreef op 03 september 2002 @ 16:59:
onClipEvent(load){
targetx=400;
targety=400;
}
onClipEvent(enterFrame){
uiltje._x+=(uiltje._x-targetx)/20;
uiltje._y+=(uiltje._y-targety)/20;
}
Zoiets? De targetx en targety moet je ff goed invullen, maar dit geeft echt een prachtige ease-out
Oh ja, het kan dat je += in -= moet veranderen...
edit:
je moet trouwens wel eens in de zoveel tijd een nieuwe targetx en targety verzinnen, dus maak daar een functie van die je elke 100 frames aanroept of zo
Verwijderd
heb ik die handlers perse nodig, je kunt dit script toch ook gewoon in een frame frotten?
Hehe, ja ik had ff niet zo goed gelezen, beetje warrige post. Ik ben ook niet zo snel met depicated flash4 syntax... jouw ding lijkt er idd nogal op.
Voor de topicstarter:
De bedoeling was zeg maar dat je dit script aan de instance van de movieclip die moet gaan bewegen zou hangen. De stuff die in het load event staat moet alleen in een functie, en die roep je af en toe aan om een nieuw target te verzinnen.
onClipEvent(load){
function newTarget(){
targetx=550*Math.random();
targety=400*Math.random();
}
newTarget();
teller=0;
}
onClipEvent(enterFrame){
_x-=(_x-targetx)/20;
_y-=(_y-targety)/20;
if(teller%50==0){
newTarget();
}
teller++;
}
Zoiets dan?
De movieclip heeft dus geen eigen timeline (1 frame, met stop erin). De hele beweging wordt door dit script gedaan. Download het voorbeeld ff http://overkill.nob.nl/~roy/zooi/voorbeeld.fla
Succes!
Verwijderd
Kweet nie of dit of 5 of mx is, maar in mx zou ik dit de mooiste manier vinden:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| #initclip
randPosMc = function(){
this.init();
};
Object.registerClass("randPosMc_id",randPosMc);
var p = randPosMc.prototype = new MovieClip();
p.init = function(){
this.msecs = 1000;
this.w = 550;
this.h = 400;
setInterval( this, "rePos", this.msecs );
this.rePos();
}
p.rePos = function(){
this.tx = Math.random()*this.w;
this.ty = Math.random()*this.h;
}
p.onEnterFrame = function(){
this._x += (this.tx-this._x)/2;
this._y += (this.ty-this._y)/2;
}
delete p;
#endinitclip |
Je kan er nu zoveel spawnen als je wilt, het is snel te converteren naar een component, en het is netjes oop, en kost dus weinig mem.
Gebruikt ook minder cpu dankzij setInterval(), en ook de changes zijn framerate onafhankelijk.
B is for BACK!
Flaatje staat hier:
http://home.wxs.nl/~leeu6431/random_pos_mx.fla
Lekkere vakantie gehad!?Verwijderd schreef op 04 september 2002 @ 11:52:
Zo, net terug van vakantie. Gaan we maar weer eens posten.
Ik zat vanochtend nog te denken waar de B-Topper gebleven was!
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.
Verwijderd
Verwijderd
Even uit het hoofdje:Verwijderd schreef op 04 september 2002 @ 14:38:
hij's cool b-top maar kan ie die bolletjes ook minder springerig over het scherm laten bewegen? kwordt er een beetje zenuwachtig van. En eigenlijk moeten de bolletjes ook nog at random groter en kleiner worden.......... ken da?
#initclip
randPosMc = function(){
this.init();
};
Object.registerClass("randPosMc_id",randPosMc);
var p = randPosMc.prototype = new MovieClip();
p.init = function(){
this.msecs = 2000;//Aantal msecs per sprong.
this.s = 10;//Springerigheid
this.mis = 50;//Minimale schaal in procenten tov origineel
this.mxs = 100;//Maximale schaal in procenten tov origineel
this.w = 550;//Maximale x positie vanaf 0;
this.h = 400;//Maximale y positie vanaf 0;
setInterval( this, "rePos", this.msecs );
this.rePos();
}
p.rePos = function(){
this.tx = Math.random()*this.w;
this.ty = Math.random()*this.h;
this.ts = this.mis + Math.random()*this.mxs;
}
p.onEnterFrame = function(){
this._x += (this.tx-this._x)/this.s;
this._y += (this.ty-this._y)/this.s;
this._xscale = this._yscale = (this.ts-this._xscale)/this.s;
}
delete p;
#endinitclip
Verwijderd
Verwijderd
this._xscale = this._yscale = (this.ts-this._xscale)/this.s;
dit zou moeten zijn:
this._xscale = this._yscale += (this.ts-this._xscale)/this.s;
Hé B-Top,
ik zie dat je de laatste tijd lekker bezig bent met Objects en prototype.
Mijn vraag: is dat een nieuw geloof of heb je jezelf helemaal in de Flash syntax ingegraven en weet je dat dat veel voordelen oplevert tov van Mc gerelateerde actions?!
[/semi-offtopic]
Verwijderd
Erm, weet niet of ik de vraag helemaal begrijp, maar laat ik je dit vertellen.tie-rep schreef op 05 september 2002 @ 01:56:
[semi-offtopic]
Hé B-Top,
ik zie dat je de laatste tijd lekker bezig bent met Objects en prototype.
Mijn vraag: is dat een nieuw geloof of heb je jezelf helemaal in de Flash syntax ingegraven en weet je dat dat veel voordelen oplevert tov van Mc gerelateerde actions?!
[/semi-offtopic]
Het echte oop proggen is een stuk makkelijk en ook beter ondersteund geworden in flashmx. In grote en kleine projecten is de reusability van dit soort code hoog, en is het gebruik van dergelijke objecten door designers handig.
Ik geloof niet echt dat dit een nieuw geloof is, de methode is er al een tijdje, ook voor flash.
Eerlijk gezegd denk ik dat je als serieuze flashprogger hier toch even serieus naar moet kijken, en ik denk zeker dat dit meer dan 80% van de toekomst van flash gaat representeren. Het is ook niet meer dan een logische richting als je ziet in welke richting MM flash aan het ontwikkelen is.
In MX is het echt vruchtbaar geworden om netjes oop te proggen, en ik kan dit dan ook aan iedereen aanbevelen.
Bovenstaande code is overigens sneller dan alle andere gegeven oplossen, maar dat komt door setInterval()
Natuurlijk begrijp ik ook dat Objects 'beter zijn', maar het was ook een beetje de vraag hoe je op deze manier bent gaan scripten?
Dus bronnen, andere fora, of de praktische kennis en daardoor jezelf gedwongen hebt deze method te gebruiken. (iets meer tiepen, beter resultaat)
dit lijkt misschien een beetje off-topc, maar ik denk dat het zeker met bovenstaande verschillende voorbeelden, een beter inzicht geeft in de verschillende script-manieren
Verwijderd
Dat eerste wat je zegt, van harde code enzo vat ik niet helemaal.tie-rep schreef op 05 september 2002 @ 02:26:
ik durf wel te zeggen dat ik redelijk mee kom met de actionscriptpose, maar het valt met op dat MM nog niet echt de 'harde' code aan het promoten is tov van de MC gekoppelde code.
Natuurlijk begrijp ik ook dat Objects 'beter zijn', maar het was ook een beetje de vraag hoe je op deze manier bent gaan scripten?
Dus bronnen, andere fora, of de praktische kennis en daardoor jezelf gedwongen hebt deze method te gebruiken. (iets meer tiepen, beter resultaat)
dit lijkt misschien een beetje off-topc, maar ik denk dat het zeker met bovenstaande verschillende voorbeelden, een beter inzicht geeft in de verschillende script-manieren
Erm, waar heb ik van geleerd.:
Flashforward2002 New York.
Ennuh.....AS Dictionary en een oop boek van mijn vorige manager?
Flashcoders : chattyfig.figleaf.co.uk
Eigen inzicht, en Dragon, die ik helemaal oop aan het schrijven was, en met de komst van MX werd omgedoopt naar Dragon_MX....daarmee ben ik een boel op onderzoek uitgegaan.
Denk dat ik daarmee een eind kom.
Vooral de overstap naar MX heeft OOP een stuk toegangkelijker gemaakt.
Nu kan ik dit doen voor bannertjes en andere kleine meuk. Terwijl ik in 5 dan complete OOP/Event engine ondersteunende libraries moest gaan includen waardoor de filesize hard opliep...te hard voor kleine dingen.
Verwijderd