Autor | Zpráva | ||
---|---|---|---|
MarcoL Profil * |
#1 · Zasláno: 17. 9. 2009, 17:45:19
Zdravim, takže mám asi takýto problém:
ide o to, že doteraz som robil fps cez getTimer() a to takto: fps = 1000/(-msec+(msec=getTimer()));" Teraz keď sa snažím vytvoriť zložitejšie animácie, zistil som, že mi po chvíli začalo sekať cele flashko a to som sa ani nehýbal. zistil som, že "hra ktorá mala pôvodne 8kb ako .swf po niekoľkých minútach zaberať o 40MB viac RAMky. zistil som že to je premennou msec (a to sa mi ešte podarilo to zredukovať na jednu premennu). Skúšal som aj msec%1000 ale to zas začalo trápiť procesor.... Nepomáhalo ani new Time(), ten neukazuje presne iba po nejakých intervaloch. Keďže chcem, aby mi "hra" išla plynule aj v nižších fps (aby nespomalila), potrebujem aspoň zistiť, ako dlho trvala pauza medzi dvomi frameami. Viete mi niekto poradiť? môžem aj ukázať onu "hru", ak by nebolo jasne... Dik, Marcol07 |
||
DoubleThink Profil * |
#2 · Zasláno: 17. 9. 2009, 17:49:44
Bez zdrojového kódu neporadíme. Pravděpodobně vytváříš šílené kaskády paralelních vlastností "fps" až do vyčerpání, v uvozovkách, stacku Flash Playeru.
|
||
MarcoL Profil * |
#3 · Zasláno: 17. 9. 2009, 18:02:23
ja potom načítavam tu animáciu všade, kde je potreba plynulého pohybu. nič viac s ňou nerobím. ide mi len o to, či sa dá nejako spraviť, aby som dokázal zistiť čas od posledného frameu.
|
||
MarcoL Profil * |
#4 · Zasláno: 17. 9. 2009, 18:07:10
tu je .fla prosím nezneužívať moju dôveru k ostatným :-)
game.fla //zastavilo ma to v prvej fáze takže tam skoro nič nie je. fyzika je len testovacia... |
||
MarcoL Profil * |
#5 · Zasláno: 17. 9. 2009, 18:09:10
srry zly link som si to pomylil s mojou domenou na ktoru neviem ftp acc... :D game.fla
|
||
MarcoL Profil * |
#6 · Zasláno: 17. 9. 2009, 18:12:04
skript je v tom "aute" v 6 framee
|
||
MarcoL Profil * |
#7 · Zasláno: 18. 9. 2009, 16:30:46
potrebujem to fakt súrne... zastavilo to celú moju prácu...
|
||
DoubleThink Profil * |
#8 · Zasláno: 18. 9. 2009, 17:22:08
duplicateMovieClip("temp", "mc_"+c, 100+c); Každou sekundu vytvoříš 100 instancí MovieClipu. Kolik čekáš, že jich VM Flash Playeru zvládne? |
||
MarcoL Profil * |
#9 · Zasláno: 18. 9. 2009, 21:08:21
ale ved ono sa to stopne potom ako to vytvori trat
|
||
MarcoL Profil * |
#10 · Zasláno: 18. 9. 2009, 21:12:02
toto je skript to kde je spominany vyraz len toto je cez cyklus...
_global.trk_dat[1] = "z20_s01_s31_s00_z21_s00_z10_s33_z11_s00_z30_z13_s31_c13_c12_s00_s00_s00_z10_z12_s00_z13_s43_z12_s00"; _global.trk_inf[1] = "05_05_025179"; vel = 1400; c = 0; t = 1; x = 1; y = 1; xmax = substring(trk_inf[t], 1, 2); ymax = substring(trk_inf[t], 4, 2); xymax = xmax*ymax; while (y<=ymax) { clip = substring(trk_dat[t], ((y-1)*xmax+x-1)*4+1, 2); rot = substring(trk_dat[t], ((y-1)*xmax+x-1)*4+3, 1); attachMovie(clip, "temp", 1); duplicateMovieClip("temp", "mc_"+c, 100+c); setProperty("mc_"+c, _x, vel/2+(x-1)*vel); setProperty("mc_"+c, _y, vel/2+(y-1)*vel); setProperty("mc_"+c, _rotation, rot*90); setProperty("mc_"+c, _xscale, vel); setProperty("mc_"+c, _yscale, vel); if (clip == "s4") { _x -= vel/2+(x-1)*vel; _y -= vel/2+(y-1)*vel; _parent._rotation = -rot*90; } c++; x++; if (x>xmax) { y++; x = 1; } } _global.car_go = 1; stop(); |
||
DoubleThink Profil * |
#11 · Zasláno: 18. 9. 2009, 22:30:28
„ale ved ono sa to stopne potom ako to vytvori trat“
Nestopne. |
||
MarcoL Profil * |
#12 · Zasláno: 20. 9. 2009, 20:34:20
Dik za pomoc, myslel som ze to stopnem, Pravdupovediac, opticky sa to nedalo zistiť, keďže sa prekryvali tie iste MCs. Fakt to bolo tym, zacnem pracovat na prerobeni. Vyriesilo by sa to dalsim frameom so skriptom stop(), s tym, ze v tom prvom nebude stop()?
|
||
Časová prodleva: 15 let
|
0