Lukket. Dette spørgsmål er uden for emnet . Det accepteres i øjeblikket ikke svar.

Kommentarer

  • ' Bedste ' er ret subjektiv. Mener du nemmest at bruge, hurtigst eller mest elegant?

Svar

Der er ikke sådan noget som bedste fysikmotor. Det afhænger stærkt af, hvad du har brug for. Tag Box2D som et eksempel: Det er en fuldt udstyret 2D fysikmotor , oprindeligt udviklet i C ++ og portet til ActionScript. Det er fantastisk til realistisk 2D-fysiksimulering, herunder tyngdekraft, kræfter, friktion, kontinuerlig kollisionsdetektion og meget mere.

En motor som Box2D vil bruge en hel del mange af dine CPU-cyklusser, især når du bruger den i Flash. Det er heller ikke trivielt at opsætte og oprette passende kollider-kroppe til dine enheder.

Hvis du vil oprette et spil som Breakout , en motor som Box2D ville være overkill. Et spil, der i høj grad bruger fysik til gameplay som Totem-Destroyer , er sandsynligvis lettere at implementere, når du dog kan bruge en god fysik-motor 🙂

Der er også andre implementeringer som leveres med Flixel Game-Engine. Det er ikke en fysikmotor i sig selv, men den indeholder en solid kollisionsdetekteringsalgoritme. Motoren opdaterer også enhedshastighed og tyngdekraft.

I de fleste tilfælde er de værktøjer, der leveres af Flixel eller lignende motorer, gode nok. Bare husk, at brug af en fysisk motor bliver CPU-intensiv, og du skal vælge den implementering, der passer bedst til dit spil.

Kommentarer

  • Heh, totem destroyer er sjovt!

Svar

Hvis du overhovedet ser på box2d, vær Sørg for at tjekke World Construction Kit. http://www.sideroller.com/wck/

Det bruger en Alchemy-port i Box2d , hvilket betyder, at det er konverteret fra ren C-kode ved hjælp af Alchemy, som virkelig forbedrer ydeevnen.

Hvis du opretter dit spil i Flash IDE og ikke i ren as3, gør det dybest set Flash IDE til en level editor ved at tilføje komponenter til fysikbaserede former og samlinger. Absolut mindst værd at kontrollere ud af demoen.

Hvis du bruger ren as3, kan komponentklasserne stadig være til nytte.

Hvis ikke andet, at lege med komponenterne i IDE og rode med demoer ville være en god introduktion til at bruge en fysikmotor og en nem måde at gøre dig bekendt med begreberne.

Svar

Box2d bruges i mange spil, også uden for flashverdenen. Det blev oprindeligt lavet i C og er blevet porteret til en masse sprog, fra objektiv-c til javascript.

Jeg synes, det er et vidnesbyrd om motoren, som er meget let at bruge, har god dokumentation, masser af eksempler (dog nogle gange på forskellige sprog) og er meget hurtig.

Den eneste ulempe er, at den er begrænset til 2d. Men denne ulempe er et plus, hvis du faktisk laver et 2d-spil (som det meste af tiden er sandsynligvis tilfældet i flash verden sandsynligvis)

Svar

Som andre her har sagt, er Box2D en temmelig fuld featured fysikmotor, selvom det kræver meget arbejde at få den konfigureret korrekt.

Og som andre her har sagt igen, er Box2D ressourceintensiv.

Også kan jeg næsten fortælle straks hvis et spil bruger Box2D på grund af den måde, fysikken opfører sig på.

Så min tilgang er at lave min egen lille fysikmotor, der ser unik ud i forhold til andre spil, er lettere for mig at arbejde med, og lettere at pakke mit hoved rundt.

Kommentarer

  • Nå, jeg kan ikke lave en fysikmotor, fordi jeg ikke ved hvordan. Jeg lærte, at der er motorer kaldet APE og fisix, hvilket vil du anbefale?

Svar

Gå med box2d, ape- og fisix-projekter, du nævnte, er begge døde. Box2d til flash har en af ressourcerne, og ved at lære det lærer du noget, du kan tage næsten hvor som helst.

Jeg har lavet spil i Ape, det var godt, men som sagt, det er et dødt projekt. Jeg har lavet spil i box2d, det er mere upfront arbejde, men dine afkast er solide.

Til den person, der nævnte, kunne de fortælle et spil brugt boks 2d efter, hvordan det føltes. Jeg tvivler virkelig på, at hvis noget, du kunne fortælle, bruger den en slags stiv kropsfysikmotor, men det handler om det.

Tjek også motor2, en anden box2d-port af en rigtig smart fyr.

Sendt på iphone

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *