EntityCollided

Übersicht BlitzBasic Blitz3D

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

peacemaker

Betreff: EntityCollided

BeitragDi, Okt 17, 2006 21:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich hab mal ne frage zum Befehl EntityCollided.

Ich habe z.B ein Mesh im Raum. Ich gebe ihm den EntityType 1.

Ausserdem habe ich eine Kamer die den EntityType 2 hat.

Diese Kamera lässt sich mit der Maus und den Cursortasten bewegen.

Und zwar will ich das wenn die Kamera mit dem Mesh Kollidiert das Programm zu ende ist.

Ich habe es so geschrieben:

_____________________________________
if EntityCollided (cam,1) then end

_____________________________________

Nur geht das Irgendwie nicht, denn es passiert nichts.

Danke im Vorraus
 

Dreamora

BeitragDi, Okt 17, 2006 21:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Collisions muss auch gesetzt werden und die Kamera darf sich nicht schneller bewegen als der Durchmesser (2x radius), sonst verpasst du die kollision ebenfalls weil sie durch die Wand "springt"
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

StepTiger

BeitragDi, Okt 17, 2006 21:35
Antworten mit Zitat
Benutzer-Profile anzeigen
für diesen zweck kannst du kollision reaktion 1 nehmen, dann verpasst er die kollision nie
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.

Mr.Keks

BeitragDi, Okt 17, 2006 23:05
Antworten mit Zitat
Benutzer-Profile anzeigen
hast du denn überhaupt ql:collisions zwischen kamera und raum gesetzt?
MrKeks.net

peacemaker

BeitragMi, Okt 18, 2006 11:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Embarassed Nein habe ich nicht.


Aber es geht trotzdem nicht!

Hier ist mal der Code


Code: [AUSKLAPPEN]

Graphics3D 800,600

; Wichtige 3D - Sachen
cam= CreateCamera()
licht  = CreateLight()

; Lade-Dateien ^_^
;mod_name ist für MOdelle
;Mob_name ist für Möbel
;tex_name ist für Textur

;cam = CopyEntity (cam)

Global mod_raum1 = LoadMesh ("Modelle\raum1.3DS")
Global mob_tür1  = LoadMesh ("Modelle\tür.3DS")
Global spr_hand  = LoadImage ("Modelle\maushand.png") : MaskImage spr_hand ,0,0,255

; Alle Erstell-Objekte

;PositionEntity cam ,0,6,0

PositionEntity mod_raum1 ,0,0,2
PositionEntity mob_tür1  ,-6,2,162



; Kollision
EntityType mod_raum1,2
EntityType mob_tür1,2
EntityRadius cam ,1
;-----------------------// Hauptschleife //--------------------------------

Repeat
; Alle variablen setzten
; Bewegung{

RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0

MoveMouse 512,384

;If KeyDown(57) Then PositionEntity spr_hand ,MouseX(),MouseX(),0.001

If KeyDown(17) Then MoveEntity cam ,0,0,1
If KeyDown(31) Then MoveEntity cam ,0,0,-1
If KeyDown(30) Then MoveEntity cam ,-1,0,0
If KeyDown(32) Then MoveEntity cam ,1,0,0
;} Bewegung ende
Collisions 1,2,2,2

If EntityCollided (mob_tür1,2) = 1 Then End
If EntityDistance(mob_tür1,cam) = 1 Then End


RenderWorld
UpdateWorld
DrawImage spr_hand ,MouseX(),MouseY()
Flip
Until KeyHit(1)

  • Zuletzt bearbeitet von peacemaker am Fr, Feb 13, 2009 17:20, insgesamt einmal bearbeitet
 

Dreamora

BeitragMi, Okt 18, 2006 11:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Das macht auch keinen Sinn was du da drin hast.

EntityCollided von Türe mit "nix"?

Und deine Cam hat keinen EntityType, insofern kann es auch nicht kollidieren.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

peacemaker

BeitragFr, Okt 20, 2006 15:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Ähm tut mir Leid. Embarassed
Aber wie meinst du das mit EntityCollided von Tür mit Nix?

Also ich habe es so geschrieben:
Code: [AUSKLAPPEN]

If EntityCollided (mob_tür1,2) = 1 Then End


Bei dem neuen Quellcode habe ich der kamera den EntityType 2 gegeben und der Tür 1.

Das mit dem Collisions habe ich auch gemacht.

Nur jetzt passiert nichts!
Question

MFG
 

Dreamora

BeitragFr, Okt 20, 2006 15:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Das wird wenig bringen, wenn du Collisions nicht geändert hast.

Mach Cam Type 1 und Rest Type 2


Das sich bewegende Objekt muss immer das "erste" sein. (ausser der Zieltyp nutzt Box bzw. Radius, polygon geht nicht von sich bewegenden Objekten)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

peacemaker

BeitragSa, Okt 21, 2006 13:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Mmh ich habe keine Ahnung wieso, aber es funzt immer noch nicht!

Hier ist noch einmal der Code den ich ein bisschen verändert habe.

Code: [AUSKLAPPEN]

Graphics3D 800,600

SetBuffer BackBuffer()
;

AppTitle "Tehadon: Confused"
; Wichtige 3D - Sachen
cam= CreateCamera()
licht  = CreateLight()

; Lade-Dateien
;mod_name ist für MOdelle
;Mob_name ist für Möbel
;tex_name ist für Textur



Global mod_raum1 = LoadMesh ("Modelle\1mapping.3DS")
Global mob_tür1  = LoadMesh ("Modelle\tür.3DS")
Global spr_hand  = LoadImage ("Sprites\maushand.png") : MaskImage spr_hand ,0,0,255

; Alle Erstell-Objekte


PositionEntity mod_raum1 ,0,0,2
PositionEntity mob_tür1  ,-6,2,162



; Kollision
EntityType mod_raum1,2
EntityRadius mob_tür1,2
EntityType cam ,1
EntityRadius cam ,1

;-----------------------// Hauptschleife //--------------------------------

while not KeyHit(1)
; Alle variablen setzten
; Bewegung{

RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0
MoveMouse 512,384


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




;} Bewegung ende
Collisions 1,2,2,1

[b]If EntityCollided (cam,2) = 1 Then End [/b]



RenderWorld
UpdateWorld
DrawImage spr_hand ,MouseX(),MouseY()
Flip
wend


MfG

Black Spider

BeitragSa, Okt 21, 2006 13:11
Antworten mit Zitat
Benutzer-Profile anzeigen
jetzt müsste´s eigentlich gehen:

Code: [AUSKLAPPEN]
Graphics3D 800,600
SetBuffer BackBuffer()



Const k_cam    = 1
Const k_door   = 2

Collisions k_cam,k_door,2,3



AppTitle "Tehadon: Confused"
; Wichtige 3D - Sachen
cam= CreateCamera()
licht  = CreateLight()

; Lade-Dateien
;mod_name ist für MOdelle
;Mob_name ist für Möbel
;tex_name ist für Textur



Global mod_raum1 = LoadMesh ("Modelle\1mapping.3DS")
Global mob_tür1  = LoadMesh ("Modelle\tür.3DS")
Global spr_hand  = LoadImage ("Sprites\maushand.png") : MaskImage spr_hand ,0,0,255

; Alle Erstell-Objekte


PositionEntity mod_raum1 ,0,0,2
PositionEntity mob_tür1  ,-6,2,162



; Kollision
EntityType mod_raum1,k_door
EntityRadius mob_raum1,2,2
EntityType mod_tür1,k_door
EntityRadius mob_tür1,2,2
EntityType cam ,k_cam
EntityRadius cam ,1,1

;-----------------------// Hauptschleife //--------------------------------

While Not KeyHit(1)
; Alle variablen setzten
; Bewegung{

RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0
MoveMouse 512,384


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




;} Bewegung ende


If EntityCollided (cam,k_door) = 1 Then End



RenderWorld
UpdateWorld
DrawImage spr_hand ,MouseX(),MouseY()
Flip
Wend
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif

peacemaker

BeitragSa, Okt 21, 2006 13:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Erst einmal danke für den Code.

Aber es geht trotzdem nicht !!!! Question Exclamation

Ist das möglich?

MfG

Goldini

BeitragFr, Okt 27, 2006 12:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Graphics3D 800,600
SetBuffer BackBuffer()



Const k_cam= 1,k_door= 2

Collisions k_cam,k_door,2,3



AppTitle "Tehadon: Confused"
; Wichtige 3D - Sachen
cam= CreateCamera()
licht  = CreateLight()

; Lade-Dateien
;mod_name ist für MOdelle
;Mob_name ist für Möbel
;tex_name ist für Textur



Global mod_raum1 = LoadMesh ("Modelle\1mapping.3DS")
Global mob_tür1  = LoadMesh ("Modelle\tür.3DS")
Global spr_hand  = LoadImage ("Sprites\maushand.png") : MaskImage spr_hand ,0,0,255

; Alle Erstell-Objekte


PositionEntity mod_raum1 ,0,0,2
PositionEntity mob_tür1  ,-6,2,162



; Kollision
EntityType mod_raum1,k_door
EntityRadius mob_raum1,2
EntityType mod_tür1,k_door
EntityRadius mob_tür1,2
EntityType cam ,k_cam
EntityRadius cam ,1

;-----------------------// Hauptschleife //--------------------------------

While Not KeyHit(1)
; Alle variablen setzten
; Bewegung{

RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0
MoveMouse 512,384


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




;} Bewegung ende


If EntityCollided (cam,k_door) Then End



RenderWorld
DrawImage spr_hand ,MouseX(),MouseY()
UpdateWorld
Flip
Wend


Ich habe mir deinen Code mal angesehen! Versuch's doch mal so!
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy

peacemaker

BeitragFr, Okt 27, 2006 12:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Juhuuu! Danke! Es geht.

Very Happy
MfG

Goldini

BeitragFr, Okt 27, 2006 12:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Man tut was man kann! Smile
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy

peacemaker

BeitragFr, Okt 27, 2006 17:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Nun hehe Very Happy
Wenn mein jetziges Projekt fertig wird, kannst du es als erster sehen ...


Hier findest du ein screenshot davon.

https://www.blitzforum.de/gallery/?image=363

Goldini

BeitragFr, Okt 27, 2006 18:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke!Voll Cool! Very Happy Very Happy Very Happy
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy

peacemaker

BeitragFr, Okt 27, 2006 19:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Bloss habe ich ein Problem mit den Texturen. Sie werden immer so überspannt, dabei enstehen solche komische effekte.

Goldini

BeitragSa, Okt 28, 2006 11:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Mach mal ein Foto von dem Objekt das du meinst
und schick mal deinen neuen Code! Smile
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy

peacemaker

BeitragSa, Okt 28, 2006 12:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Also das Objekt wurde ja mit 3DS Max modelliert und texturiert.

Bloss weiss ich nicht wie ich die Texturen besser machen kann!

MfG Peacemaker1

Goldini

BeitragSa, Okt 28, 2006 15:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Scaletexture mod_raum1,-2,-2

vielleicht so probier's mal aus.
Mit diesen Zeilen danke ich einer Person, die mich für so wichtig hält, dass sie sogar einen Club nach mir benannt hat!
Danke! Very Happy

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group