Code funzt nicht! =(

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Surat

Betreff: Code funzt nicht! =(

BeitragDi, März 21, 2006 16:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, ich progge gerade an einem Shooter.
Sobald ich das Programm starte verfängt sich die Maus in der linken
oberen Ecke und das Fadenkreuz versinkt samt Kamera leider im Terrain.`

Ich bin für jede Hilfe dankbar!

Code: [AUSKLAPPEN]


Graphics3D 640,480
SetBuffer BackBuffer()

Const type_camera=1,type_blood=2   ; Source
Const type_scenery=3,type_ladders=4   ; Destination

Global cam_x#,cam_z#,cam_pitch#,cam_yaw#                  ; Current
Global dest_cam_x#,dest_cam_z#,dest_cam_pitch#,dest_cam_yaw#

Global picked

; Bullet spark type
Type spark
   Field entity,alpha#
End Type

camera=CreateCamera()
CameraRange camera,1,600
EntityRadius camera,7.5
EntityType camera,type_camera
PositionEntity camera,10,10,10

AmbientLight 191,191,191                  
Global light=CreateLight()
LightColor light,31,31,31
RotateEntity light,45,0,0




terrain=CreateTerrain(128)
EntityPickMode terrain,2

grass_tex=LoadTexture("feuer002.jpg")
EntityTexture terrain,grass_tex

Global target=LoadSprite("target.bmp",1,camera)
MoveEntity target,0,0,75
EntityOrder target,-2



Global spark=LoadSprite("bigspark.bmp")   
ScaleSprite spark,2,2
EntityOrder spark,-1
HideEntity spark

Collisions type_camera,type_scenery,2,3
Collisions type_blood,type_scenery,2,1
Collisions type_blood,type_camera,1,1
Collisions type_camera,type_ladders,2,2


While Not KeyHit(1)

If MouseHit(1)=True
  picked=CameraPick(camera,width/2,height/2)
  s.spark=New spark
  s\entity=CopyEntity(spark)
 s\alpha=1
PositionEntity s\entity,PickedX(),PickedY(),PickedZ()      
EndIf

   mxs=MouseXSpeed()
   mys=MouseYSpeed()
   

   mouse_shake=Abs(((mxs+mys)/2)/1000.0)


   dest_cam_yaw#=dest_cam_yaw#-mxs
   dest_cam_pitch#=dest_cam_pitch#+mys


   cam_yaw=cam_yaw+((dest_cam_yaw-cam_yaw)/5)
   cam_pitch=cam_pitch+((dest_cam_pitch-cam_pitch)/5)
   
   RotateEntity camera,cam_pitch#,cam_yaw#,0

   MoveMouse width/2,height/2

   If KeyDown(200)=True Or MouseDown(2)=True Then dest_cam_z=1
   If KeyDown(208)=True Then dest_cam_z#=-1


   If KeyDown(205)=True Then dest_cam_x=1
   If KeyDown(203)=True Then dest_cam_x=-1
   

   cam_z=cam_z+((dest_cam_z-cam_z)/5)
   cam_x=cam_x+((dest_cam_x-cam_x)/5)

   MoveEntity camera,cam_x,0,cam_z
   dest_cam_x=0 : dest_cam_z=0

   If EntityCollided(camera,type_ladders)<>0 Then TranslateEntity camera,0,1,0

   TranslateEntity camera,0,-1,0

   For s.spark=Each spark
      EntityAlpha s\entity,s\alpha
      s\alpha=s\alpha-0.02
      If s\alpha<=0 Then FreeEntity s\entity : Delete s
   Next

UpdateWorld
RenderWorld
Text 0,0,"Benutze Cursortasten..."
Flip
Wend
End
"DER GRÖßTE FEIND IST IN DEN EIGENEN REIHEN" (Trygonia-Xen's Quest)

AZUON-Beyond the dark life (2%)
SOULS OF DESTINY (23%)
 

HW

BeitragDi, März 21, 2006 16:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Das mit der Maus ist leicht:
Code: [AUSKLAPPEN]
MoveMouse width/2,height/2

Da die Variablen width und height nirgendwo einen Wert zugewiesen bekamen, haben sie den Wert 0.

Und was das Absinken angeht: Wo hast du dem Terrain ein EntityType gegeben?
Mit dieser Zeile geht das doch schon viel besser:
Code: [AUSKLAPPEN]
EntityType terrain,type_scenery

Surat

BeitragSa, März 25, 2006 15:00
Antworten mit Zitat
Benutzer-Profile anzeigen
jo, vielen Dank. Jetzt funzt es!!!
"DER GRÖßTE FEIND IST IN DEN EIGENEN REIHEN" (Trygonia-Xen's Quest)

AZUON-Beyond the dark life (2%)
SOULS OF DESTINY (23%)

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group