CameraPick-Problem

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Darren

Betreff: CameraPick-Problem

BeitragSa, Nov 20, 2004 23:19
Antworten mit Zitat
Benutzer-Profile anzeigen
und zwar hab ich das problem, dass bei meinem shooter an der stelle eine rauchspur entsteht auf die ichgeschossen habe. jetzt funktioniert dies aber nur bis zu einer bestimmten entfernung d.h. ab einer best. entf. wird bei mir nichts mehr gepickt!!! Ich habe schon überall in der OH gesucht aber nichts bezüglich der reichweite von camerapick gefunden!! wie kann ich jetzt mein problem lösen???

thx by Darren
 

OJay

BeitragSa, Nov 20, 2004 23:37
Antworten mit Zitat
Benutzer-Profile anzeigen
camerapick nutzt die einstellungen der camera die du angibst. sprich: setz camerarange hoch
 

Darren

BeitragSo, Nov 21, 2004 13:13
Antworten mit Zitat
Benutzer-Profile anzeigen
das ist bei mir auf 300000 mein level ist aber nur 800 lang bei fogrange hab ich das auch gleich mit probiert un das funzt auch nicht

Markus2

BeitragSo, Nov 21, 2004 14:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Haste vieleicht noch EntityAutoFade wo benutzt ?

eXceptION

BeitragSo, Nov 21, 2004 15:39
Antworten mit Zitat
Benutzer-Profile anzeigen
ich schätze camerapick benutzt den z-buffer...

also kein alpha object (oder irre ich mich da?)
Norweger...

Spreche aber verdammt gut 8086
 

Darren

BeitragSo, Nov 21, 2004 18:12
Antworten mit Zitat
Benutzer-Profile anzeigen
nein ich hab nichts dergleichen verwendet......
sonst würde ich das objekt ja nicht sehen.... es muss was anderes sein
 

Darren

BeitragSo, Nov 21, 2004 21:29
Antworten mit Zitat
Benutzer-Profile anzeigen
es fragt sich nur was....
 

Darren

BeitragMo, Nov 22, 2004 19:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann mir denn niemand helfen??? Crying or Very sad Crying or Very sad Crying or Very sad Crying or Very sad Crying or Very sad Crying or Very sad Crying or Very sad Crying or Very sad Crying or Very sad Crying or Very sad
 

OJay

BeitragMo, Nov 22, 2004 19:42
Antworten mit Zitat
Benutzer-Profile anzeigen
ohne code sind das alles nur spekulationen...wer weiß, was du für faselfehler machst...
 

Darren

BeitragMo, Nov 22, 2004 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Graphics3D 1024,768,32,1

Include "engine.bb"

;backbuffer funzt nicht
SetBuffer FrontBuffer()
SeedRnd MilliSecs()


Global anzahl = 2


;timer zu geschwkontrolle
timer = CreateTimer(30)


Global tropfen = LoadSprite("blut.bmp")
;EntityType tropfen,type_blut      
         


Global playerbox = LoadMesh("playerbox.3ds")
ScaleEntity playerbox, 30, 50, 30
PositionEntity playerbox,-382,10,6
RotateEntity playerbox,0,-90,0
EntityType playerbox, type_player
EntityRadius playerbox,8
UpdateNormals playerbox
Global skybox = CreateSphere(32)
PositionEntity skybox,EntityX(playerbox),EntityY(playerbox),EntityZ(playerbox)
ScaleEntity skybox,200,200,200
EntityColor skybox,100,100,255
FlipMesh skybox
UpdateNormals skybox
EntityOrder skybox,2
EntityPickMode skybox,2
skytex = LoadTexture("himmel1.bmp")
ScaleTexture skytex,0.1,0.1
EntityTexture skybox,skytex

Global camera = CreateCamera()
PositionEntity camera, EntityX(playerbox), EntityY(playerbox), EntityZ(playerbox)
RotateEntity camera, EntityPitch(playerbox), EntityYaw(playerbox), EntityRoll(playerbox)
CameraRange camera,1,300000
CameraFogRange camera,50000,60000
;CameraFogMode camera,1
CameraFogColor camera,200,200,170
CameraClsColor camera,40,140,255

Global auto = LoadMesh("autos/auto.3ds")
ScaleEntity auto,0.6,0.6,0.6
PositionEntity auto,-129,0,79
RotateEntity auto,0,137-180,0
EntityShininess auto,1
EntityPickMode auto,2
EntityType auto,type_scenery
UpdateNormals auto
Global karre = LoadMesh("keintrick.3ds")
PositionEntity karre,-440,-0.5,372
ScaleEntity karre,1.3,1.3,1.3
EntityType karre,type_scenery
UpdateNormals karre
Global truck = LoadMesh("truck.3ds")
PositionEntity truck,80,0,-425
ScaleEntity truck,1.8,1.8,1.8
RotateEntity truck,0,90,0
EntityType truck,type_scenery
UpdateNormals truck

;KIAUTO

Global kiauto = CopyEntity(auto)
ScaleEntity kiauto,0.6,0.6,0.6
UpdateNormals kiauto
PositionEntity kiauto,ki_x(1),0,ki_z(1)
RotateEntity kiauto,0,180,0

;läd die sprites
Global scharte = LoadSprite("bulletgrau.bmp",1)
Global schpart = CreateSprite()
SpriteViewMode scharte,1
ScaleSprite scharte,1.5,1.5
EntityOrder scharte,-1
HideEntity scharte
fadenkreuz = LoadImage("fadenkreuz.bmp")
MidHandle fadenkreuz
SeedRnd MilliSecs()
Global schuss=LoadSprite("bulletblau.bmp",1)
Global schuss2=LoadSprite("bulletrot.bmp",1)
Global flamme = LoadSprite("flamme.png",1,camera)
PositionEntity flamme,0,-0.55,2
ScaleSprite flamme,0.4,0.4
HideEntity flamme
EntityOrder flamme,-2


;"gegner"
Global puppe = LoadMesh("puppe.3ds")
ScaleEntity puppe,.4,.4,.4

EntityPickMode puppe,2
UpdateNormals puppe
;EntityRadius puppe,4
EntityType puppe,type_player


;level
Global level = LoadMesh("level3.3ds")
ScaleEntity level, 5, 5, 5
EntityType level, type_scenery
;EntityFX LEVEL,16
EntityPickMode level,2,0
UpdateNormals level

;boden
Global boden = LoadMesh("bodenlevel3.3ds")
ScaleEntity boden,5,5,5
EntityType boden,type_boden
EntityPickMode boden,2,0
UpdateNormals(boden)

;wasser
Global wasser = CreatePlane()
PositionEntity wasser,0,-10,0
EntityColor wasser,0,50,255
EntityAlpha wasser,0.5
Global wasseru = CreatePlane()
TurnEntity wasseru,180,0,0
PositionEntity wasseru,0,-10,0
EntityColor wasseru,0,50,255
EntityAlpha wasseru,0.8


;waffe
waffe=LoadMesh("waffe1.3ds",camera)
ScaleEntity waffe,0.01,0.01,0.01
EntityOrder waffe,-4
PositionEntity waffe,0,-0.7,1.0
TurnEntity waffe,0,-90,0
waffetex = CreateTexture(128,128)
EntityColor waffe,100,200,255
UpdateNormals waffe

Global pointpiv = CreatePivot()

;licht
Global light = CreateLight(2)
LightColor light,255,255,180
PositionEntity light,-413,500,413
TurnEntity light,-45,0,-45
AmbientLight 90,90,90

;kollisionen                     
Const type_player = 1, type_scenery = 2, type_boden = 3
Collisions type_player, type_scenery, 2, 3
Collisions type_player, type_boden,2,3

;setzt alle nötigen variablen
Global playerspeed = 2
Const gravity# = 1
Const eyeheight = 10



While Not KeyHit(1)

   PositionEntity skybox,EntityX(playerbox),EntityY(playerbox),EntityZ(playerbox)
   ;bewegt die ganze sache
   If KeyDown(17)
      
      MoveEntity playerbox, 0, 0, playerspeed
   EndIf
   
   If KeyDown(31)
      MoveEntity playerbox, 0, 0,-playerspeed
   End If   
   If KeyDown(30)
      MoveEntity playerbox,-playerspeed, 0, 0
   EndIf
   
   If KeyDown(32)
      MoveEntity playerbox, playerspeed, 0, 0
   End If   

   
   For i = 0 To 10
      zsx = zsx + 1
      PositionEntity zscheibe(i),EntityX(zscheibe(i))+Sin(zsx),EntityY(zscheibe(i)),EntityZ(zscheibe(i))+Cos(zsx)
      
      If zsx = 360 Then
         zsx = 0
      End If   
   Next
      
   
   
   DrawImage fadenkreuz,GraphicsWidth()/2,GraphicsHeight()/2
   ;schüsse
      
   ;alle updatefunktionen
   blutspritzen()
   schuss2()
   u_zauber()
   mauseingabe()
   puppepath()
   drehung(camera,pointpiv)
   ki()
   wellen
      
   If MouseDown(1) = 0 Then
      anzahl = 2
      HideEntity flamme
   End If
      
   ;camerazoom
   zoomst = MouseZ()
   If zoomst < 1 Then
      zoomst = 1
   End If         
   CameraZoom camera,zoomst      
   
   ;culling- und entfernungsfunction
   For baum.baum = Each baum
      sichtbar(baum\m3d,baum\sprite)   
   Next   
            
   ;dreht die ganze sache
   RotateEntity camera, EntityPitch(camera) + MouseYSpeed()/8, EntityYaw(camera) - MouseXSpeed()/8, EntityRoll(camera)
   RotateEntity playerbox, EntityPitch(playerbox), EntityYaw(camera), EntityRoll(playerbox)
   
   ;begrenzt die drehung der cam
   If EntityPitch(camera) < -70
      RotateEntity camera, -70, EntityYaw(camera), EntityRoll(camera)
   ElseIf EntityPitch(camera) > 70
      RotateEntity camera, 70, EntityYaw(camera), EntityRoll(camera)
   EndIf
   
   ;nach oben schweben
   If KeyDown(57)
      MoveEntity playerbox, 0,10,0
   End If
   
   ;sprinten
   If KeyDown(42)
      playerspeed = 4
   Else
      playerspeed = 2
   End If
   
   ;wireframe ein und aus      
   If KeyHit(16)
      wframe = 1 - wframe
      If wframe = 1 Then
         WireFrame 1
      Else
         WireFrame 0
      End If      
   End If      
   
   
   ;hält die ganze sache unten
   If EntityCollided(playerbox,type_scenery) <> 0 Then
      PositionEntity playerbox, EntityX(playerbox), EntityY(playerbox) - gravity/3, EntityZ(playerbox)
   Else
      PositionEntity playerbox, EntityX(playerbox), EntityY(playerbox)-gravity*2, EntityZ(playerbox)   
   End If
   PositionEntity camera, EntityX(playerbox), EntityY(playerbox)+eyeheight, EntityZ(playerbox)
   
   ;bewegt die maus immer wieder in die mitte
   MoveMouse 512,384
   
   ;zeigt alles an......
   UpdateWorld
   RenderWorld   
   WaitTimer timer   
   Flip
   schrift()
   
Wend

End

Function treffer()
   treffer = CameraPick(camera,MouseX(),MouseY())
   Return treffer
End Function

Function schuss#(x,y,z)   
      s_scharte.s_scharte = New s_scharte
      s_scharte\model = CopyEntity(scharte)      
      s_scharte\zeit = 1
      PositionEntity s_scharte\model,x,y,z
      
      For i = 0 To 3
         sch_part.sch_part = New sch_part
         sch_part\model = CopyEntity(schpart)
         ScaleSprite sch_part\model,0.1,0.1
         EntityColor sch_part\model,60,60,60
         PositionEntity sch_part\model,x,y,z
         sch_part\pit = Rand(-90,90)             
         sch_part\yaw = Rand(-90,90)
         sch_part\rol = Rand(-90,90)
         sch_part\zeit = 3
         RotateEntity sch_part\model,sch_part\pit,sch_part\yaw,sch_part\rol
      Next
      ;PositionEntity schusspiv,x,y,z
      ;kugel.bullet = New bullet
      ;kugel\model = CopyEntity(schusskug)
      ;PositionEntity kugel\model,EntityX(playerbox),EntityY(playerbox),EntityZ(playerbox)
      ;PointEntity kugel\model,schusspiv    
End Function


Function schuss2()
   ;For kugel.bullet = Each bullet
   ;   MoveEntity kugel\model,0,0,3
   ;Next   
   For s_scharte.s_scharte = Each s_scharte
      EntityAlpha s_scharte\model,s_scharte\zeit
      s_scharte\zeit = s_scharte\zeit - 0.08
      
      If s_scharte\zeit <= 0 Then
         FreeEntity s_scharte\model : Delete s_scharte
      End If
   Next
   For sch_part.sch_part = Each sch_part
      sch_part\zeit = sch_part\zeit - 1
      MoveEntity sch_part\model,0,0,2
      If sch_part\zeit < 0 Then
         FreeEntity sch_part\model : Delete sch_part
      End If   
   Next   
End Function

 

Darren

BeitragMo, Nov 22, 2004 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
ich frag mich zwar was ich für fehler gemacht haben soll aber egal(va bei camerapick) Question Question Question Question

Markus2

BeitragMo, Nov 22, 2004 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

erstmal rate ich dir zwei Namen für s_scharte.s_scharte = New s_scharte
zu nehmen , z.B.

s_scharte
und
s_scharteType oder s_scharteT

an den anderen Stellen auch ...

bei der Maus immer in die Mitte setzen mußte aufpaßen das
der Mousespeed noch stimmt sonnst haste evtl. nen
Ruckelspiel und weißt nicht warum .
 

Darren

BeitragMo, Nov 22, 2004 21:22
Antworten mit Zitat
Benutzer-Profile anzeigen
ich benutz kein mousex oder y speed um mich zu drehen sonern etwas anderes aba wie siehts mit meinem prob aus???

Markus2

BeitragMo, Nov 22, 2004 21:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt Wink Dann ist es ein Tip für den Fall der Fälle .
Aber korrigiere erstmal was Fehler verursachen könnte und
dann schauen wir weiter ...

Macht man auch nicht ,
ist in VB6 wiederum anders , in BB hast du damit wohl
eine Variable erzeugt die gleich dem Funktionsnamen ist .
So ist besser

Function treffer()
;if camera=0 then RuntimeError "funk treffer camera=0 !?"
pick = CameraPick(camera,MouseX(),MouseY())
;debuglog pick
Return pick
End Function

Function treffer()
return CameraPick(camera,MouseX(),MouseY())
End Function


schrift() sollte for dem Flip stehen und mache den Backbuffer an
und kein Workaround Wink
Das Fadenkreuz auch nach Renderworld ...
 

Darren

BeitragDi, Nov 23, 2004 18:36
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe jetz das problem gelöst es lag daran, dass der himmel nicht groß genug war. durch den gingen die schüsse nicht durch Rolling Eyes Rolling Eyes Rolling Eyes
aber danke für die ganzen tips

by DarrenSharm

Markus2

BeitragDi, Nov 23, 2004 19:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Smile

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group