Indhold

Holde knapper Responsive Layouts

At skabe en spil-loop

Når du opretter spil, føjes billeder eller sprites til filmen til at repræsentere elementer i spil så som skikkelser, køretøjer eller eksplosioner. Spritens position bliver justeret mange gange i løbet af sekundet indefra en loop afhængigt af noget spil logik. Hver film har en indbygget i spil-loop, kaldet 'Ved opdatering'. Den fremkaldes, hver gang animationen opdateres, og den kan findes i filmegenskaberne.


At skabe en spil-loop 1

Opret en ny film og tilføj et billede, også kaldet en sprite. Vi har brugt en badebold.


Import Importer

Højreklik på dette billede, for at gemme det på din computer.


BeachBall.png
At skabe en spil-loop BeachBall

At skabe en spil-loop 2

i egenskaberne for badeboldens første ramme: slå tidslinjen fra og sæt dens 'Script-ID' til Ball. At slå tidslinjen fra giver bolden mulighed for at blive styret af Javascript.


At skabe en spil-loop 3

Vi vil lade badebolden hoppe omkring i filmen. Så vi skal skabe nogle hastigheds variabler i 'Generel' script-begivenheden. Hvilke som helst startværdier vil være ok.



var VelocityX=10,VelocityY=7;

I 'Ved opdatering' begivenheden, kan vi flytte bolden ved at tilføje hastighedsværdierne til boldens X og Y værdier.



Ball.X+=VelocityX;
Ball.Y
+=VelocityY;

Tryk på play for at teste filmen. Bolden skal flyve direkte fra filmen.


Play Play

At skabe en spil-loop 6

Boldens X og Y egenskaber dens midtpunkt. Ved at kontrollere disse værdier mod bredde og højde af filmen, kan vi kontrollere for at se, om bolden hopper. Sæt hastigheden modsat for at få bolden til at hoppe.



Ball.X+=VelocityX;
Ball.Y
+=VelocityY;
var MovieWidth=600,MovieHeight=400,BallRadius=50;
if(Ball.X>MovieWidth-BallRadius){VelocityX=-VelocityX;}
if(Ball.X<BallRadius){VelocityX=-VelocityX;}
if(Ball.Y>MovieHeight-BallRadius){VelocityY=-VelocityY;}
if(Ball.Y<BallRadius){VelocityY=-VelocityY;}

Tryk på play for at teste filmen igen. Bolden skal nu hoppe rundt.


At skabe en spil-loop 8

Eksporter filmen til HTML og bemærk, at bolden bevæger sig med en lidt anden hastighed til spilleren. Dette skyldes, at forskellige web-browsere og forskellige enheder kører med forskellige hastigheder.


At skabe en spil-loop 9

For at få bolden til at bevæge sig med samme hastighed overalt, har vi brug for at beregne forskellen mellem opdateringer i tid. 'Ved opdatering' begivenheden omfatter to nyttige variabeler, som gør netop dette. TimeChange: Antallet af rammer, som har passeret siden den sidste opdatering. SecondsChange: Antallet af sekunder, der er gået siden den sidste opdatering. Disse værdier er uafhængige af om filmen er stoppet. De er blot en måde at beregne tid, siden den sidste opdatering. For at få animation til altid at køre med samme hastighed, skal hver enkelt ændring i position, vinkel eller opacitet ganges med ændringen i tid eller sekunder.



Ball.X+=VelocityX*TimeChange;
Ball.Y
+=VelocityY*TimeChange;
var MovieWidth=600,MovieHeight=400,BallRadius=50;
if(Ball.X>MovieWidth-BallRadius){VelocityX=-VelocityX;}
if(Ball.X<BallRadius){VelocityX=-VelocityX;}
if(Ball.Y>MovieHeight-BallRadius){VelocityY=-VelocityY;}
if(Ball.Y<BallRadius){VelocityY=-VelocityY;}

Test filmen i afspilleren og HTML. Bolden burde flytte sig med præcis samme hastighed i begge.


Holde knapper Responsive Layouts
Denne dokumentation var oversat fra engelsk, ved hjælp af en online oversætter. Vi undskylder hvis du finder nogen fejl. Hvis du vil hjælpe os med at foretage rettelser. Der er en oversættelse editor i Hippani Animator (i Hjælpemenuen). Vi giver ud gratis licensnøgler til nogen, der korrigerer mere end 100 sætninger. Kontakt os for flere detaljer.