Morphy hat einen kleinen Code fertig und will Tipps
Übersicht

MorpheusBetreff: Morphy hat einen kleinen Code fertig und will Tipps |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich will vorab klarstellen, dass es kein Meisterwerk ist, aber ich bin für den Anfang zufrieden:
Code: [AUSKLAPPEN] Graphics3D 1280,1024,16,1 SetBuffer BackBuffer() ;Kamera camera=CreateCamera() cx#=8 cy#=5 cz#=-10 RotateEntity camera,15,0,0 PositionEntity camera,cx,cy,cz CameraRange camera,1,10000 light=CreateLight() RotateEntity light,45,0,0 Global cube=CreateCube() cubetex=LoadTexture ("Gfx/kiefernholz.bmp") EntityTexture cube,cubetex EntityType cube,1 EntityRadius cube,1 PositionEntity cube,8,0,0 EntityShininess cube,1 plane=CreatePlane() EntityType plane,1 planetex = LoadTexture("Gfx/kiefernholz.bmp") EntityTexture plane,planetex ScaleTexture planetex ,2,2 PositionEntity plane,0,-5,0 ScaleEntity plane,10,1,10 EntityShininess plane,0.3 For cyl = -5 To 10 Step 1 cylinder=CreateCylinder(32) cylindertex = LoadTexture ("Gfx/kiefernholz.bmp") EntityTexture cylinder,cylindertex EntityType cylinder,1 PositionEntity cylinder,0,cyl*16,0 ScaleEntity cylinder,1,1,1 EntityShininess cylinder,1 Next Collisions 1,1,2,2 EntityParent camera,cube,1 sprung = 0 imsprung=0 Function physic_casual () MoveEntity cube,0,-0.25,0 End Function Function physic_jump () MoveEntity cube,0,-0.1,0 End Function While Not KeyDown(1);looooooooooooooooooooooooooooooooooooooooooooooop x#=0 y#=0 z#=0 TurnEntity light,0.00694444444,0,0;Sonnenlicht If KeyDown(203)=1 Then TurnEntity cube ,0,1,0 If KeyDown(205)=1 Then TurnEntity cube ,0,-1,0 If KeyDown(208)=1 Then MoveEntity cube,0,0,-1 If KeyDown(200)=1 Then MoveEntity cube,0,0,1 If KeyHit(57) And Sprung=0 Sprung=1 If Sprung=1 MoveEntity cube,0,5,2 MoveEntity cube,0,0,3 physic_jump () Sprung=0 EndIf If KeyDown (17) Then MoveEntity camera,0,0,0.1 If KeyDown (31) Then MoveEntity camera,0,0,-0.1 If KeyDown (30) Then MoveEntity camera,0,0.1,0 If KeyDown (44) Then MoveEntity camera,0,-0.1,0 If KeyHit (14) Then wire=1-wire WireFrame wire If KeyHit (2) Then alias=1-alias AntiAlias alias If KeyHit (13) Then debug=1-debug ;Physikengine If Sprung = 0 physic_casual() EndIf UpdateWorld RenderWorld If debug = 1 Then col=CountCollisions(cube) Text 0,0,"Kollision(en):" For i=1 To col Text 000,i*20,"Entity="+CollisionEntity(cube,i) Text 150,i*20,"Surface="+CollisionSurface(cube,i) Text 300,i*20,"Triangle="+CollisionTriangle(cube,i) Text 0,40,"Antialias= "+alias Text 0,60,"Debug= "+debug Text 100,40,"Wirefrane = "+wire Next Else If debug = 0 Then Text 0,0,"Debug = "+debug EndIf Flip Wend FlushKeys ClearWorld End Man kann den Würfel horizontal über den Boden bewegen, vorwärts/rückwärts und ihn l/r bewegen. Das Unendlich-oft-in-der-Luft-springen-Problem ist leider noch nicht gelöst. Ich hoffe, dass dies zeigt, dass ich kein Ich-copy-paste-mir-alles-aus-dem-Forum-möchtegern-Progger bin. Aber ich kann Tipps brauchen, zB was braucht man für ein erstes Werk an Features? Die Welt ist noch schrecklich leer, wie kann ich sie am besten "beleben"? Wie ihr sehen könnt habe ich die Säule durch eine Schleife aus Cylindern erstellt. Auf diese Weise wollte ich auch noch weitere Säule machen, aber das ging nicht. Es kamen einfach keine Säulen, höchstens ein Cylinder, der mitten in der Luft hing. Ich habe die nötigen Programme, um eine Welt im 3ds Format zu bauen, aber ihr habt ja geschrieben, dass ich erst den Code machen soll. Aber jetzt a)weiß ich nicht mehr viel, was ich an Code schreiben soll b) Habe ich noch nicht die nötigen Fähigkeiten. Ich hätte die Idee, dass die Schatten richtig berechnet werden, aber ich habe keinen blassen Schimmer davon wie ich das machen sollte. Bilder: ![]() ![]() MfG, Morpheus |
||
![]() |
Firstdeathmaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du solltest an deinem Stil arbeiten. Durchgängige Formatierungen nehmen, anstatt:
Code: [AUSKLAPPEN] sprung = 0
imsprung=0 Bei Schleifen oder If-Bedingungen, den Inhalt einrücken: Code: [AUSKLAPPEN] For i = 0 To 20
dosomething() dosomethingelse() Next Du solltest, wenn du hier schon Code postest, auch die dazu benötigten Dateien (Texturen) bereit stellen. Vielleicht sogar eher ein kleines Archiv mit allem drin. Die meisten hier sind zu faul um sich eine Textur zu suchen und diese an dein Program anzugleichen damit es klappt (vor allem wenn es bisher noch nicht so viel bringt). Das "Unendlich in die Luft springen" Problem kannst du doch dadurch lösen, dass du einfach überprüfst wie weit der Spieler vom Boden entfernt ist (Ich glaub der Befehl hieß terrainy() oder so) Was an Features? Vielleicht versuchst du mal was mit Schüssen und der damit verbundenen Kollisionsabfrage. |
||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group