Login Register
Frontpage Code library Pastebin

FPS-riippumaton animointi

Author: aXu
Added: 27. kesäkuuta 2012 kello 19.40
Edited: 27. kesäkuuta 2012 kello 19.40
Category: Objektit

Description

Tämä toimii kahdella tavalla FPS-riippumattomasti: Jos pelissä on vaihtuva deltatime eli ukkoja liikutetaan erimäärä riippuen framen pituudesta, kerro nopeus delta-ajalla. (tähän kaiketi toimii myös cb:n oma animointi) Jos pelissä on fiksattu deltatime, mutta simulaatiota edistetään useammalla askeleella framea kohti, yksinkertaisesti kutsu tätä joka silmukan sisällä ja animaatiot pysyvät tahdissa. (cb:n oma animointi päivittää animaation vasta DrawScreenin/DrawGamen kohdalla) Lisäominaisuutena on animaation pituuden ilmoittaminen sen loppuframen sijaan. Takaperin pyöriviä animaatiota ei tueta. Vaatii ObjectFloatin käyttöönsä animoitavilla objekteilla. ObjectFloatia voi siis käyttää ObjectFramen tavoin, paitsi myös lukemaan frame myös vaihtamaan sen käsin.

Code

Select all
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
Function AnimateObject(Obj, StartF = 0, Length = 1, Speed# = 0.1)
	EndF = StartF + Length
	CurrentF# = ObjectFloat(Obj)
	If CurrentF < StartF Or CurrentF > EndF Then CurrentF = StartF
	CurrentF = CurrentF + Speed
	If CurrentF => EndF Then CurrentF = CurrentF - Length
	
	ObjectFloat Obj, CurrentF
	CurrentF = RoundDown(CurrentF)
	PlayObject Obj, CurrentF, CurrentF
EndFunction

Comments

No comments. You can be first!

Leave a comment

You must be logged in to comment.