CameraPick Ausgabewert
Übersicht

![]() |
Flausch96Betreff: CameraPick Ausgabewert |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist es möglich bei dem Befehl CameraPick einen Namen des Objektes bzw. eine eindeutige id zu bekommen ?
Ich habe mich an dem beispiel in der Hilfe orientiert: Code: [AUSKLAPPEN] Graphics3D 640, 480, 0, 2
SetBuffer BackBuffer() camera = CreateCamera() light = CreateLight() cube = CreateCube() PositionEntity camera, 0, 0, 0 RotateEntity light, 90, 0, 0 PositionEntity cube, 0, 0, 10 EntityPickMode cube, 2 While Not KeyDown(1) TurnEntity cube, .5, 1, 2 mx = MouseX() my = MouseY() entity = CameraPick(camera, mx, my) If entity = 0 Then EntityColor cube, 255, 255, 255 If entity<>0 Then EntityColor cube, 0, 255, 0 RenderWorld If entity = 0 Then Text 0, 0, "Nicht ausgewählt" If entity<>0 Then Text 0, 0, "Ausgewählt:" + entity Oval mx - 5, my - 5, 10, 10, 1 Flip Wend End Wenn man mit der Maus über den Würfel geht, bekommt man eine Zahl ausgegeben. Diese ist jedoch bei jedem Programmstart anders. (Wenn ich mich nicht irre nennt man diese Zahl entity Handle ?) Diese Zahl bringt mir nichts, denn ich kann das Objekt nicht identifizieren. Währe es möglich das irgendwie hinzubekommen ? Also so z.b Code: [AUSKLAPPEN] Graphics3D 640, 480, 0, 2
SetBuffer BackBuffer() camera = CreateCamera() light = CreateLight() cube = CreateCube() PositionEntity camera, 0, 0, 0 RotateEntity light, 90, 0, 0 PositionEntity cube, 0, 0, 10 EntityPickMode cube, 2 //so stelle ich mir das vor: blablabla = handledesobjekts(cube) While Not KeyDown(1) TurnEntity cube, .5, 1, 2 mx = MouseX() my = MouseY() entity = CameraPick(camera, mx, my) If entity = 0 Then EntityColor cube, 255, 255, 255 If entity<>0 Then EntityColor cube, 0, 255, 0 RenderWorld If entity = 0 Then Text 0, 0, "Nicht ausgewählt" If entity<>0 Then Text 0, 0, "Ausgewählt:" + entity Oval mx - 5, my - 5, 10, 10, 1 //und hier dann die "Identifizierung" : if blablabla = entity then mach was end if Flip Wend End Viele Grüße Flausch |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
doch!
"Cube" ist ja auch ein Handle, also so eine Zahl. Und wenn du mit der Maus draufgehst nennt dir CameraPick() genau die Zahl von Cube. BlitzBasic: [AUSKLAPPEN] SuchEntity = CameraPick(camera, mx, my) ...und tatsächlich wird der Cube rot! |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
PhillipK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nun, ich rate einfach mal ins grüne und sage, das du mit der Zahl tatsächlich die identität erhälst.
Hast du denn schonmal versucht, in deinem unteren beispiel "if cube = entity" zu prüfen? Alternativ versuchs mal mit dem entityname, wie in diesem beispiel: BlitzBasic: [AUSKLAPPEN] Graphics3D 800, 600, 16, 0 |
||
![]() |
Flausch96 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oh, danke. mit if entity = cube klappts.
![]() ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group