Einfachste Kräftephysik
Übersicht BlitzBasic Beginners-Corner
hecticSieger des IS Talentwettbewerb 2006 |
Do, Dez 07, 2006 18:27 Antworten mit Zitat |
|
---|---|---|
Vielleicht hilft dir der folgende Code. Hab ich gestern mal schnell geschrieben und muß sagen das es Spaß macht aber auch nicht ganz einfach zu steuern. Mit Space kannst du die X-Achse spiegeln, da es für unterschiedliche Menschen unterschiedliche Ansichten zur Steuerung eines solchen Schiffes geben würde...
Code: [AUSKLAPPEN] ;Grafikkramm
Const gfx=1280 Const gfy=gfx*.75 Const ghx=gfx/2 Const ghy=gfy/2 Graphics3D gfx,gfy,0,1 SetBuffer BackBuffer() ;Kamera erstellen camera=CreateCamera() PositionEntity camera,0,0,-ghx CameraZoom camera,1.0/ghx CameraProjMode camera,2 ;Licht erstellen light=CreateLight() RotateEntity light,40,-40,0 ;Schiff erstellen schiff=CreateSphere(16) EntityColor schiff,160,160,160 ScaleMesh schiff,16,40,16 EntityOrder schiff,-1 ;Triebwerk erstellen triebwerk=CreateSphere(12,schiff) PositionEntity triebwerk,0,-36,0 EntityColor triebwerk,96,96,96 ScaleMesh triebwerk,8,20,8 EntityOrder triebwerk,-2 ;Flamme erstellen flamme=CreateSphere(8,triebwerk) PositionEntity flamme,0,-22,0 EntityColor flamme,255,255,0 ScaleMesh flamme,4,6,4 EntityOrder flamme,-3 xg#=0 ;X-Geschwindigkeit yg#=0 ;Y-Geschwindigkeit rg#=0 ;Rotations-Geschwindigkeit ss%=-1 ;Schiffssteuerung ;HAUPTSCHLEIFE While Not KeyHit(1) ;Schub If KeyDown(200) xg=xg-Sin(EntityRoll(schiff))*Cos(EntityRoll(triebwerk))*.01 yg=yg+Cos(EntityRoll(schiff))*Cos(EntityRoll(triebwerk))*.01 rg=rg-Sin(EntityRoll(triebwerk))*.01 EntityColor flamme,255,Rnd(0,255),0 EntityAlpha flamme,Rnd(0,1) Else EntityAlpha flamme,0 End If ;Lenken If KeyDown(203) TurnEntity triebwerk,0,0,-ss If KeyDown(205) TurnEntity triebwerk,0,0,+ss ;Triebwerk langsam auf Nullstellung TurnEntity triebwerk,0,0,-Sgn(EntityRoll(triebwerk))/4 ;Sowas wie ein Luftwiederstand yg=yg-.005 xg=xg*.998 yg=yg*.998 rg=rg*.998 ;Neue Koordianten einzeichnen TranslateEntity schiff,xg,yg,0 TurnEntity schiff,0,0,rg ;Schiff im Bildschirm behalten If EntityX(schiff)<-ghx TranslateEntity schiff,gfx,0,0 If EntityX(schiff)>ghx TranslateEntity schiff,-gfx,0,0 If EntityY(schiff)<-ghy TranslateEntity schiff,0,gfy,0 If EntityY(schiff)>ghy TranslateEntity schiff,0,-gfy,0 ;Schiffssteuerung kippen If KeyHit(57) ss=-ss RenderWorld If ss=+1 Text 0,0,"[SPACE] - Schiffssteuerung Positiv" If ss=-1 Text 0,0,"[SPACE] - Schiffssteuerung Negativ" Flip Wend End |
||
FireballFlame |
Do, Dez 07, 2006 20:13 Antworten mit Zitat |
|
---|---|---|
GEIL!
Macht echt Spaß ... wenn man das Ding erstmal unter Kontrolle hat, kann man sogar Loopings fliegen, ohne die Bildschirmränder zu berühren! ^^ Ich hätt direkt Lust, da ein Spiel draus zu machen ... Flug über eine 2D-Landschaft, mit Lasten transportieren, Gegnern und so |
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
pixelshooter |
Do, Dez 07, 2006 21:18 Antworten mit Zitat |
|
---|---|---|
oO Oo das is cool vielen dank hectic! | ||
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc |
Übersicht BlitzBasic Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group