2D text über ein 3D Objekt, Fehlerhaft

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Mathias-Kwiatkowski

Betreff: 2D text über ein 3D Objekt, Fehlerhaft

BeitragMo, Apr 19, 2010 2:04
Antworten mit Zitat
Benutzer-Profile anzeigen
also nun gehts darum 2D und 3D zu kombinieren, ich möchte das www über dem haus angezeigt wird, ich habe im code die stelle makiert mit ;

aber irgendwie kann ich das entity nich richtig ergreifen, also dort wo das haus anfäng soll www drüber stehen, nunja... hab edliches versucht, vieleicht liegt es auch einfach nur an der camera????


der code:

Code: [AUSKLAPPEN]
Graphics3D 1024,768,32,1
Global objekt.objekt
Type objekt
   Field x#
   Field y#
   Field z#
   Field haus
End Type


SetBuffer BackBuffer()

camera = CreateCamera()
PositionEntity camera, 512/2, 10, 512/2
RotateEntity camera, 45, 0, 0

light = CreateLight()
RotateEntity light, 90, 0, 0


terrain = CreateTerrain(512)
EntityPickMode terrain , 2


drum = LoadMesh("media\haus_000.3ds")
EntityPickMode drum , 2
EntityType  drum , 2
ScaleMesh drum,.2,.2,.2

grass_tex = LoadTexture("media\moss01.jpg")
EntityTexture terrain,grass_tex


Collisions  1, 2, 2, 2

While Not KeyHit(1)
   


   TerrainShading  terrain, 1
   TerrainDetail Terrain, 45000,1
   
      mx = MouseX()
      my = MouseY()
      entity = CameraPick(camera, mx, my)

      RenderWorld
   
 
      
   Text 220, 0, "Linke Maustaste= Bauen"
   Text 220, 20, "Rechte Maustaste= Abreissen"    
   Text 220, 40, "Pfeiltaste Hoch & Runter"
   Text 220, 60, "Maus an den Rand bewegen"
   Text 220, 80, "Pfeiltasten Links & Rechts"


   If entity = 0 Then Text 0, 0, "Nicht ausgewählt"
      If entity<>0 Then
         Text 0, 0, "Ausgewählt:" + entity
       Text 0, 20, "X:" + PickedX()
       Text 0, 40, "Y:" + PickedY()
       Text 0, 60, "Z:" + PickedZ()
      
      Text 0, 100, "Benutze Cursortasten..."
         Text 0, 120, "X Position: " + EntityX#(camera)
        Text 0, 140, "Y Position: " + EntityY#(camera)
         Text 0, 160, "Z Position: " + EntityZ#(camera)
       
      anzahl=0      
      For objekt.objekt= Each objekt
         anzahl=anzahl+1
         
      Next
      
      Text 0, 200, "Anzahl: " + anzahl
      
      ;#########################################################################
      ;#                                                                       #
      ;#           Wenn man mit maustaste 2 draufklickt mesh löschen           #
      ;#                                                                       #
      ;#########################################################################
      For objekt.objekt= Each objekt
         
         If entity=objekt\haus Then
            EntityColor objekt\haus,0,255,0
            If MouseHit(2) Then
               FreeEntity objekt\haus
               Delete objekt.objekt
            EndIf
            Text PickedX(),PickedZ(),"www" ;Das www soll übern haus angezeigt werden,
         Else
            EntityColor objekt\haus,255,255,255
         EndIf
      Next
      
      ;#########################################################################
      ;#                                                                       #
      ;#           neues gebäude hinzufügen                                #
      ;#                                                                       #
      ;#########################################################################
      If MouseHit(1) Then
         objekt= New objekt
         objekt\x# = PickedX()
         objekt\y# = .5
         objekt\z# = PickedZ()
         objekt\haus= LoadMesh("haus_000.3ds")
         EntityPickMode objekt\haus, 2
         EntityType  objekt\haus, 2
         PositionEntity objekt\haus,PickedX(),.5,PickedZ()
         
       EndIf
   EndIf
      
   Oval mx - 5, my - 5, 10, 10, 1
   
   ;#########################################################################
   ;#                                                                       #
   ;#           Am Bildschirmrand die Maus Bewegen                          #
   ;#                                                                       #
   ;#########################################################################
   If MouseX()>-15 And MouseX()<1024 And MouseY()>-15 And MouseY()<15 Then MoveEntity camera, 0, +0.05, 0.05
   If MouseX()>-15 And MouseX()<1024 And MouseY()>768-15 And MouseY()<768 Then MoveEntity camera, 0, -0.05, -0.05
   
   If MouseX()>-15 And MouseX()<15 And MouseY()>-15 And MouseY()<768 Then MoveEntity camera,   -0.05,0,0
   If MouseX()>1024-15 And MouseX()<1024+15 And MouseY()>-15 And MouseY()<768 Then MoveEntity camera,   +0.05,0,0
   
   ;#########################################################################
   ;#                                                                       #
   ;#           Kamera hoch und runter                                       #
   ;#                                                                       #
   ;#########################################################################
   If KeyDown(200) = 1 Then MoveEntity camera, 0,.5, 0
   If KeyDown(208) = 1 Then MoveEntity camera, 0, -.5,0
   If KeyDown(203) = 1 Then TurnEntity  camera, 0, 1, 1
   If KeyDown(205) = 1 Then TurnEntity  camera, 0, -1, -1
   If EntityY(camera)<4 Then MoveEntity camera, 0,0.5, 0
   If EntityY(camera)>30 Then MoveEntity camera, 0,-0.5, 0

   If EntityX(camera)<0 Then MoveEntity camera, 0.05,0,0
   If EntityX(camera)>512 Then PositionEntity camera, 512, EntityY#(camera), EntityZ#(camera)
   
   If EntityZ(camera)<0 Then PositionEntity camera, EntityX#(camera), EntityY#(camera), 0
   If EntityZ(camera)>512 Then PositionEntity camera, EntityX#(camera), EntityY#(camera), 512

   FlushMouse()
   Flip
Wend
End


ich bedanke mich schon mal im vorraus,
 

Ava

Gast

BeitragMo, Apr 19, 2010 4:26
Antworten mit Zitat
*augenreib* ... ich finds nicht ... Confused
Vielleicht hättest Du die Stelle besser auch mit so einem fetten Kästchen markieren sollen. Rolling Eyes

Nicdel

BeitragMo, Apr 19, 2010 7:16
Antworten mit Zitat
Benutzer-Profile anzeigen
CameraProject
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group