picken... die x-te

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Tapsi

Betreff: picken... die x-te

BeitragSa, Jun 04, 2005 10:13
Antworten mit Zitat
Benutzer-Profile anzeigen
bevor ihr jetzt alle sagt, "schon wieder" und "such doch erst mal"
hört mir erst mal zu.

also, ich habe einen kegel. wenn ich diesen kegel anklicke, wird dieser grün. ich will aber, dass der kegel nach dem anklicken verschwindet. also würde ich hideentity benutzen. aber dann passiert nix mit dem kegel. woran kann das liegen??

hier der code:

BlitzBasic: [AUSKLAPPEN]


Function picken()

pick=CreateCone()
PositionEntity pick, 10, 4, 10
EntityType pick, 3
EntityPickMode pick,2

mx=MouseX()
my=MouseY()

entity=CameraPick(camera,mx,my)

If entity<>0 And MouseDown(1) Then HideEntity pick ;Then EntityColor pick,0,255,0




End Function




danke für die antworten Very Happy

Kryan

BeitragSa, Jun 04, 2005 10:33
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab mal nen ego-shooter geproogt (jaja...sowas konnte ich auch mal Very Happy )
da hatte ich auch das selbe problem...bei den waffen, wenn man die wechseln möchte. ich hab nich gerade die intelligenteste lösung gefunden:
ich habe den/das entity auf -1000,-1000,-1000 positioniert
falls das nun wieder aktiviert werden müsste, dann habe ich das einfach wieder an diese position >>gebeamt<<
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

Tapsi

BeitragSa, Jun 04, 2005 10:40
Antworten mit Zitat
Benutzer-Profile anzeigen
*loool* dat ist gut Very Happy
aber wie verknüpfe ich das dann später mit if?

if positionentity pick <>x then...

würde das so klappen?

Kryan

BeitragSa, Jun 04, 2005 10:41
Antworten mit Zitat
Benutzer-Profile anzeigen
sag erstma was du machen möchtest...wahrscheinlich ego-shooter ,stimmts??
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

Tapsi

BeitragSa, Jun 04, 2005 10:45
Antworten mit Zitat
Benutzer-Profile anzeigen
ne, ich dachte an ein adventur. und der kegel ist so ne art schlüssel. und nachdem ich den kegel anklicke will ich eine tür öffnen. sieht aber blöd aus, einen schlüssel zu nehmen, der dann immer noch da ist Very Happy

Kryan

BeitragSa, Jun 04, 2005 10:47
Antworten mit Zitat
Benutzer-Profile anzeigen
mach doch dann freeentity...
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

Tapsi

BeitragSa, Jun 04, 2005 10:50
Antworten mit Zitat
Benutzer-Profile anzeigen
hab das hide gegen free ausgetauscht, problem besteht aber leider noch. da muss noch irgendwo ein logischer fehler hinterstecken... aba ich komm ned drauf
 

Gerhard

BeitragSa, Jun 04, 2005 10:52
Antworten mit Zitat
Benutzer-Profile anzeigen
In der Funktion picken() erstellst du pick und gleichzeitig läßt du pick wieder verschwinden?
Wann rufst du diese Funktion denn auf?

Kryan

BeitragSa, Jun 04, 2005 10:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Very Happy stimmt...da hat er recht...erstell am anfang des ganzen proggys den kasten...und mach das global Laughing
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

Tapsi

BeitragSa, Jun 04, 2005 10:54
Antworten mit Zitat
Benutzer-Profile anzeigen
in der hauptschleife. soll ich mal den gesamten code posten??

Kryan

BeitragSa, Jun 04, 2005 10:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Shocked wenn man sich das mal genauer ansieht ist diese funktion richtig verbuggt...ja schick ma
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

Tapsi

BeitragSa, Jun 04, 2005 11:03
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]

Graphics3D 640,480
SetBuffer BackBuffer()

Const scenetype=1, camtype=2, tertype=3

Global camera=CreateCamera(), campitch
PositionEntity camera, 5, 4, 5
EntityType camera, 2
EntityRadius camera, 2

;---------------------------------------------------------------

boden=CreateTerrain(128)
gra_tex=LoadTexture(\"c:\programme\blitz3d demo\tex\boden\erde6.bmp\")
EntityTexture boden, gra_tex
EntityType boden, 3

light=CreateLight( 1)
PositionEntity light, 66, 10, 66


;----------------------------------------------------------------



tur=CreateCube()
PositionEntity tur, 4, 4, 20
ScaleEntity tur, 2,4,0.1
turtex=LoadTexture (\"C:\Programme\Blitz3D Demo\tex\verschiedenes\htur3.bmp\")
EntityTexture tur,turtex
EntityType tur,3

SetAnimKey tur,100,1

RotateEntity tur,0,90,0
PositionEntity tur,2,4,20
SetAnimKey tur, 200, 1
;---------------------------------------------------------------




Function picken()


pick=CreateCone()
PositionEntity pick, 10, 4, 10
EntityType pick, 3
EntityPickMode pick,2

mx=MouseX()
my=MouseY()
entity=CameraPick(camera,mx,my)
; If entity=0 Then EntityColor pick,255,255,255
If entity<>0 And MouseDown(1) Then EntityColor pick,0,255,0

;Then HideEntity pick


End Function

;------------------------------------------------------------------


;If

AddAnimSeq tur,200
Animate tur,3





;-----------------------------------------------------------------



Function freelook()


HidePointer

mxspd#=MouseXSpeed()*0.25
; myspd#=MouseYSpeed()*0.25
campitch=campitch+myspd
If campitch<-85 Then campitch=-85
If campitch>85 Then campitch=85
RotateEntity camera,campitch,EntityYaw(camera)-mxspd,0


MoveMouse GraphicsWidth()/2,GraphicsHeight()/2


If KeyDown(203) Then mvx=mvx-.3
If KeyDown(205) Then mvx=mvx+.3
If KeyDown(200) Then mvz=mvz+.3
If KeyDown(208) Then mvz=mvz-.3

If KeyDown(30) Then mvx=mvx-.3
If KeyDown(32) Then mvx=mvx+.3
If KeyDown(17) Then mvz=mvz+.3
If KeyDown(31) Then mvz=mvz-.3

End Function

;------------------------------------------------------
;-------------------------------------------------------


wand1=CreateCube()
PositionEntity wand1, 1, 10, 64
ScaleEntity wand1, 1, 10, 64

wand2=CreateCube()
PositionEntity wand2, 127, 10, 64
ScaleEntity wand2, 1, 10, 64

wand3=CreateCube()
PositionEntity wand3, 64, 10, 1
ScaleEntity wand3, 64, 10, 1

wand4=CreateCube()
PositionEntity wand4, 64, 10, 127
ScaleEntity wand4, 64, 10, 1

wand_tex=LoadTexture(\"C:\Programme\Blitz3D Demo\tex\Steine\mauerwerk.bmp\")
ScaleTexture wand_tex, 0.2, 0.7

EntityTexture wand1, wand_tex
EntityTexture wand2, wand_tex
EntityTexture wand3, wand_tex
EntityTexture wand4, wand_tex

EntityType wand1, 3
EntityType wand2, 3
EntityType wand3, 3
EntityType wand4, 3

;----------------------------------------------------------

;;hauptschleife;;

While Not KeyHit(1)

freelook()
picken()

If KeyDown(200) Then MoveEntity camera, 0, 0, 0.09
If KeyDown(208) Then MoveEntity camera, 0, 0, -0.09
If KeyDown(205) Then MoveEntity camera, 0.5, 0, 0
If KeyDown(203) Then MoveEntity camera, -0.5, 0, 0


If KeyDown(17) Then MoveEntity camera, 0, 0, 1
If KeyDown(31) Then MoveEntity camera, 0, 0, -1
If KeyDown(30) Then MoveEntity camera, 1, 0, 0
If KeyDown(32) Then MoveEntity camera, -1, 0, 0

If KeyDown(201) Then MoveEntity camera, 0, 0.1, 0
If KeyDown(209) Then MoveEntity camera, 0, -0.1, 0


Collisions 1, 2, 2, 1
Collisions 1, 3, 2, 1
Collisions 2, 3, 2, 1



UpdateWorld
RenderWorld



Flip
Wend
End

Kryan

BeitragSa, Jun 04, 2005 11:05
Antworten mit Zitat
Benutzer-Profile anzeigen
dürfte das programm nicht leicht überlasten, wenn der bei jedem durchlauf n neue cone erstellt???
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

Tapsi

BeitragSa, Jun 04, 2005 11:14
Antworten mit Zitat
Benutzer-Profile anzeigen
höhö, hattest recht, bring ja nix, wenn dat immer wieder gezeichnet wird. aba jetzt funzts Very Happy danke Very Happy
 

Tapsi

BeitragSa, Jun 04, 2005 11:17
Antworten mit Zitat
Benutzer-Profile anzeigen
öhm, noch ne kleine frage, wie stelle ich die entfernung ein, denn ich will ja nicht auf tausend meter entfenung den kegel anklicken können

Kryan

BeitragSa, Jun 04, 2005 11:24
Antworten mit Zitat
Benutzer-Profile anzeigen
If entity<>0 And MouseDown(1) Then
If EntityDistance(camera,entity) Then
HideEntity pick
End If
End If

edit: ne frage: warum versteckst du "pick" und nicht "entity"...wär doch logischer
es wäre nur egal, wenn pick=entity ist Wink
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

Tapsi

BeitragSa, Jun 04, 2005 11:28
Antworten mit Zitat
Benutzer-Profile anzeigen
danke!! das müsste klappen Very Happy
ich komm bestimmt später noch ma wieder, wenns probs mit der tür gibt Razz

Kryan

BeitragSa, Jun 04, 2005 11:30
Antworten mit Zitat
Benutzer-Profile anzeigen
hab trotzdem noch ne frage zu deinem proggy:
warum versteckst du "pick" und nicht "entity"...wär doch logischer
es wäre nur egal, wenn pick=entity ist Wink
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

Tapsi

BeitragSa, Jun 04, 2005 11:38
Antworten mit Zitat
Benutzer-Profile anzeigen
mhhh,jetzt wo dus sagst... hab da noch nicht so ganz den überblick für

Kryan

BeitragSa, Jun 04, 2005 11:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Very Happy
mach einfach hideentity entity Wink
dann wirkt es logischer 8)
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group