Colissions

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

nimroad1

Betreff: Colissions

BeitragSo, Feb 11, 2007 18:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
.spiel
Graphics3D 1024,768
SetBuffer BackBuffer()



AppTitle "Marple"

fontvariable = LoadFont("Arial Black",30)
SetFont fontvariable

Sprung=LoadSound("Dateien/Sprung.mp3")


Camera=CreateCamera()
PositionEntity Camera,0,5,-5
CameraRange camera,.1,200

Player=CreateSphere()
ScaleEntity Player,0.3,0.3,0.3
PositionEntity Player ,0.5,-1.5,-3.5
EntityType player,playercol
EntityRadius Player,.3
Balltxt=LoadTexture("Dateien\ball.jpg")
EntityTexture Player,Balltxt


World1=LoadMesh("Dateien\World1.b3d")
PositionEntity World1,0,0,0 
EntityType World1,worldcol

Hinderniss=LoadMesh("Dateien/Stacheln.3ds")
PositionEntity Hinderniss,0.5,-2.8,-16
ScaleEntity Hinderniss,0.02,0.02,0.02
Htex=LoadTexture("Dateien/H.jpg")
EntityTexture Hinderniss,Htex



CH=CopyEntity (Hinderniss)
PositionEntity CH,2,-2.8,-19.5

CH2=CopyEntity (CH)
PositionEntity CH2,8,-2,-20

CH3=CopyEntity (CH2)
PositionEntity CH3,10,-2,-23

CH4=CopyEntity(CH3)
PositionEntity CH4,5,-2,-28

CH5=CopyEntity (CH4)
PositionEntity CH5,-3,-2,-28

CH6=CopyEntity (CH5)
PositionEntity CH6 ,-3.5,-3,-10

CH7=CopyEntity (CH6)
PositionEntity CH7,-5.2,-3,-5

Out=CreatePlane()
PositionEntity Out,0,-5,0
EntityType Out,Outcol

Const playercol=1
Const Worldcol=2
Const Hindernisscol=2
Const Outcol=2

aktuell#=100
verlust#=.5

Collisions 1,2,2,2

Timer = MilliSecs()
Zeit = 70

While Not KeyHit(277)
If KeyDown(1) Then Goto menü

If EntityCollided(player,Outcol) Then Goto Outplane

If Timer+1000 < MilliSecs() Then
Zeit=Zeit-1
Timer = MilliSecs()
If zeit=0 Then zeit=0
EndIf

TurnEntity CH,0,1,0
TurnEntity CH2,0,1,0
TurnEntity CH4,0,1,0
TurnEntity CH6,0,1,0



 mxs#=mxs-MouseXSpeed()/10.0
 mys#=mys+MouseYSpeed()/10.0 
 MoveMouse GraphicsWidth()/2,GraphicsHeight()/2 
 mxs=mxs*.9
 mys=mys*.9

 TFormNormal EntityX(player)-EntityX(camera),0,EntityZ(Player)-EntityZ(camera), 0,0
 
 If KeyDown(30) Then TranslateEntity Player,-TFormedZ()/19,0,+TFormedX()/19:TurnEntity player,EntityX(player)-EntityX(camera),0,EntityZ(player)-EntityZ(camera),1
 If KeyDown(32) Then TranslateEntity Player,+TFormedZ()/19,0,-TFormedX()/19:TurnEntity player,EntityX(camera)-EntityX(player),0,EntityZ(camera)-EntityZ(player),1
 If KeyDown(17) Then TranslateEntity Player,+TFormedX()/19,0,+TFormedZ()/19:TurnEntity player,EntityZ(player)-EntityZ(camera),0,EntityX(camera)-EntityX(player),1
 If KeyDown(31) Then TranslateEntity Player,-TFormedX()/19,0,-TFormedZ()/19:TurnEntity player,EntityZ(camera)-EntityZ(player),0,EntityX(player)-EntityX(camera),1


   If KeyDown(57)Then If aktuell>0 Then aktuell=aktuell-verlust TranslateEntity player,0,.17,0
If KeyHit(57) Then If aktuell>0 Then   PlaySound (Sprung)

 TranslateEntity Player,0,-.1,0

 PointEntity camera,player
 MoveEntity camera,mXs/300.0,-mYs/300.0,EntityDistance(camera,player)-3

If zeit=0 Then Goto zeitlimitueberschritten

 UpdateWorld
 RenderWorld
Text 70,40, zeit
Text 100,40, "Sekunden"   
Text 160,10, aktuell
Text 10,10, "Sprungkraft:"
Text 230,10, "%"
Text 11,40, "Zeit:"
 Flip
Wend
End
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.zeitlimitueberschritten
Graphics 1024,768
SetBuffer BackBuffer()

ueberschreitung=LoadImage("Dateien/Zeit.jpg")
HidePointer

While Not KeyDown(1)

If MouseHit(1) Then Goto spiel


Cls
DrawImage ueberschreitung,0,0
Flip
Wend


wie man sieht will ich das wenn der player mit der plane collidiert es zu putplane springt. Das terrain is über der plane.
->Wenn ich starte springe ich gleich zu outplane ohne das ich mit der plane collidiere!.... wie das?? hilfe bitte Laughing
----------------------------------
Rechtschreibfehler vorbehalten...

Markus2

BeitragMo, Feb 12, 2007 13:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
war das so gewollt ?

Const playercol=1
Const Worldcol=2
Const Hindernisscol=2
Const Outcol=2

oder vieleicht so

Const playercol=1
Const Worldcol=2
Const Hindernisscol=3
Const Outcol=4

evtl. auch mal ResetEntity benutzen nach dem du Collisions gesetzt hast

nimroad1

BeitragMo, Feb 12, 2007 19:12
Antworten mit Zitat
Benutzer-Profile anzeigen
jez hab ichs so wie du aber jez gehen die ganzen koolissions nich mehr
----------------------------------
Rechtschreibfehler vorbehalten...

Markus2

BeitragMo, Feb 12, 2007 19:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann benutze Collisions x,y,2,2 mit deinen Parametern .
Diesen Befehl kann man mehr als einmal benutzen .

Drück mal im Source über Collisions auf F1

nimroad1

BeitragMo, Feb 12, 2007 19:25
Antworten mit Zitat
Benutzer-Profile anzeigen
die colissions gehn jez aber das mit der plane colission nich


Code: [AUSKLAPPEN]
If entitycollide(Playercol,Outcol) then goto Out

was is falsch? ich komme noch immer auf die welt und es springt sofort zu out....
----------------------------------
Rechtschreibfehler vorbehalten...

Markus2

BeitragMo, Feb 12, 2007 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann laß dir mal vor dem Sprung
mit DebugLog eine dieser Daten ausgeben :
See also: CollisionX, CollisionY, CollisionZ, CollisionNX, CollisionNY, CollisionNZ, CountCollisions, EntityCollided, CollisionTime, CollisionEntity, CollisionSurface, CollisionTriangle

StepTiger

BeitragMo, Feb 12, 2007 20:04
Antworten mit Zitat
Benutzer-Profile anzeigen
EntityCollided(EntityIndex,TargetType) sag ich dazu nur...
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.

nimroad1

BeitragMo, Feb 12, 2007 20:17
Antworten mit Zitat
Benutzer-Profile anzeigen
was meinst du damit?
----------------------------------
Rechtschreibfehler vorbehalten...

StepTiger

BeitragMo, Feb 12, 2007 20:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Dass man nicht nach den 2 Types fragt, sondern nach dem Objekt und dem Ziel-Typ. Würde dir die Online-Hilfe aber auch sagen. F1 ist ja so eine schöne Taste, nicht wahr?
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.

nimroad1

BeitragMo, Feb 12, 2007 20:24
Antworten mit Zitat
Benutzer-Profile anzeigen
ja aber
Code: [AUSKLAPPEN]
If EntityCollided(Player,HIndernisscol) Then
Goto menü
EndIf
   

aber wenn ich auf die welt komm geht es gleich zum menü nich erst bei der colission
----------------------------------
Rechtschreibfehler vorbehalten...

Markus2

BeitragMo, Feb 12, 2007 20:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Haste mal ResetEntity nach Collisions probiert ?
So Startprobleme hatte ich auch mal .

Oder wenn es zur Sprungmarke will mal
ClearCollisions aufrufen und angucken was da Sache ist .

nimroad1

BeitragMo, Feb 12, 2007 21:01
Antworten mit Zitat
Benutzer-Profile anzeigen
hab beides probiert...get nich
----------------------------------
Rechtschreibfehler vorbehalten...

StepTiger

BeitragMo, Feb 12, 2007 21:07
Antworten mit Zitat
Benutzer-Profile anzeigen
nimroad1 hat Folgendes geschrieben:
ja aber
Code: [AUSKLAPPEN]
If EntityCollided(Player,HIndernisscol) Then
Goto menü
EndIf
   

aber wenn ich auf die welt komm geht es gleich zum menü nich erst bei der colission


Also, wenn es dahin springt, dann findet Blitz auch eine Kollision. Hast du auf CollisionRadius und so weiter geachtet? Funktioniert die Kollision?

Wenn mehrere Objekte die selbe Nummer als EntityType haben, aber anders kollidieren sollen, wie soll das funktionieren?
Blitz arbeitet mit Zahlen, die du in Variablen gespeichert hast. Blitz ist egal, wie diese Variablen heißen.
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.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group