Animiertes Mesh bewegen
Übersicht

BuzzomBetreff: Animiertes Mesh bewegen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Habe folgendes Problem, und hoffe jemand weiss Rat:
Ich will ein animiertes Mesh bewegen. Leider kommt bei meinem Code immer "Illegal Memory Adress". Nehme ich ein unanimiertes, also normales mesh bewegt es sich wie gewollt, nur halt ohne die Laufanimation. Meines Erachtens liegt der Fehler irgendwo bei dem Befehl Animate player, 2. Nur weiss ich leider nicht genau wie ich das fixen könnte. Oder ich bin ganz und gar auf dem Holzweg ![]() Code: [AUSKLAPPEN] ;-----Globale Variablen definieren------------------------------------- Global player, camera, terr ;-----Aufloesung definieren-------------------------------------------- Graphics3D 1024, 768, 32, 2 SetBuffer BackBuffer() ;-----Konstanten definieren-------------------------------------------- Const BODY=1,SCENE=2 ;-----Kollisionen checken---------------------------------------------- Collisions BODY,SCENE,2,3 ;-----Kamera/Blick definieren und positionieren------------------------ camera=CreateCamera() PositionEntity camera,0,50,-50 CameraClsColor camera,0,100,255 ;-----Terrein erstellen und Texturen setzen---------------------------- ;Untergrund terr=LoadTerrain( "./textures/trondheim.png" ) ScaleEntity terr,1000/TerrainSize(terr),70,1000/TerrainSize(terr) TerrainDetail terr,2000,True TerrainShading terr,True PositionEntity terr,-500,0,-500 tex=LoadTexture( "./textures/wiese.jpg" ) ScaleTexture tex,50,50 EntityTexture terr,tex EntityType terr,SCENE ;Wolken wolken=LoadTexture( "./textures/cloud_2.bmp",3 ) ScaleTexture wolken,1000,1000 p=CreatePlane() EntityTexture p,wolken EntityFX p,1 PositionEntity p,0,200,0 p=CopyEntity( p ) RotateEntity p,0,0,180 ;Figur player=LoadAnimMesh( "./meshes/mak_robotic.x" ) LoadAnimSeq player,"./meshes/mak_running.x" Animate player, 2 PositionEntity player,0,1,50 EntityType player,BODY TranslateEntity player,0,-1,0 TurnEntity player, 0,180,0 PointEntity camera, player EntityParent camera, player While Not KeyHit(1) Spielfigur_Bewegung() UpdateWorld RenderWorld Flip Wend End ;-----Spielfigur Bewegung, Tastatur------------------------------------ Function Spielfigur_Bewegung() If KeyDown(200) If AnimSeq(player )=0 Animate player, 1,.5,1,10 MoveEntity player, 0, 0, -1.5 Else If AnimSeq(player )=1 Animate player, 2,1,0,10 EndIf If KeyDown(205) TurnEntity player, 0, -10,0, 1 If KeyDown(203) TurnEntity player, 0, 10,0, 1 ;Setzt Spielfigur -1 Geschw nach unten wenn von Hügel herabsteigt If Not EntityCollided(player, terr) TranslateEntity player,0,-1,0 End Function Danke Vielmals Eric |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hattest du den DebugModus eingeschaltet in der BB IDE ? | ||
Buzzom |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also bei debug enabled ist ein häkchen, allerdings seh ich ehrlich gesagt mit dem debugen da noch nicht recht durch | ||
Buzzom |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So: hab folgendes selbst entdeckt:
ich arbeite ja mit Blitz3D v1.66. dort kommt auch oben genannte fehlermeldung. hab das ganze mit der demo von v1.83 getestet und da funktioniert es tadellos, wie gewollt. liegt es nun wirklich an der blitz3d version? es grüßt euch eric |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein Fehler den man nach drei Tagen nicht findet ist warscheinlich
ein Bug anderer ![]() Nur ne Idee : player=LoadMesh( "./meshes/mak_robotic.x" ) LoadAnimSeq player,"./meshes/mak_robotic.x" LoadAnimSeq player,"./meshes/mak_running.x" ./ macht mich auch stutzig , landet man damit nicht im Root Verzeichnis ? Finde ich irgendwie unüblich , macht aber nix . Und bei Windows werden \ benutzt . |
||
Buzzom |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
probier ich nachher ma aus ![]() ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group