Rutschen auf einer gekippten Fläche

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Tankbuster

Betreff: Rutschen auf einer gekippten Fläche

BeitragSo, März 04, 2007 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Also...Die Frage wurde sicherlich schon OFT gestellt, und ich hab schon die Suche benutzt, aber nicht viel brauchbares gefunden!

Ich habe eine gekippte Fläche! Wenn ich da jetzt mit "MoveEntity cube,0,-.1,0" einen Würfel (oder so) drauffallen lasse, und der Würfel damit kollidiert, rutscht er aber noch runter, und bleibt nicht auf der Stelle!
Das ist ja logisch, aber wie schaffe ich es, dass der Würfel dann stehen bleibt, und nicht runterrutscht. (natürlich nicht einfach stehenbleibt, sondern noch nach X und Z bewegbar ist!)
Es geht einfach nicht! Sad

Tank
Twitter
Download Jewel Snake!
Windows|Android

StepTiger

BeitragSo, März 04, 2007 17:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke, EntityCollided könnte helfen.
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.

Tankbuster

BeitragSo, März 04, 2007 17:40
Antworten mit Zitat
Benutzer-Profile anzeigen
OH; hab ich vergessen zu erwähnen!
Das hab ich schon probiert, aber hat net geklappt!
Zitat:
...
If EntityCollided(cube,MAUER) then gravitation=0
If Not EntityCollided(cube,MAUER) then gravitation=-1
...

Das geht leider net!
Twitter
Download Jewel Snake!
Windows|Android

skey-z

BeitragSo, März 04, 2007 17:45
Antworten mit Zitat
Benutzer-Profile anzeigen
du musst dann aber auch MoveEntity objekt, 0, gravitation*0.1, 0 in der Hauptschleife haben oder es so ähnlich mit einbauen
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

ZaP

BeitragSo, März 04, 2007 18:00
Antworten mit Zitat
Benutzer-Profile anzeigen
COLLISIONS TypeQ, TypeZ, Methode, Reaktion

TypeQ = Quell-Objekttyp, das auf Kollision überprüft werden soll
TypeZ = Ziel-Objekttyp, mit dem es kollidieren soll
Methode = Methode der Erkennung:
1=Kugel-Kugel-Kollision
2=Kugel-Polygon-Kollision
3=Kugel-Würfel-Kollision
Reaktion = Was soll bei einer Kollision passieren:
1=stoppen <---- das ist was du brauchst ^^
2=sliden (normal)
3=sliden (nur raufsliden)
Starfare: Worklog, Website (download)

Tankbuster

BeitragSo, März 04, 2007 18:01
Antworten mit Zitat
Benutzer-Profile anzeigen
OK... ich poste mal meinen einen Beispielcode, denn es ist ja wohl klar, das ich das alles im Code hab. son Noob bin ich nun auch wieder nicht!
Code: [AUSKLAPPEN]
Graphics3D 640,480

camera=CreateCamera()
RotateEntity camera,45,0,0
PositionEntity camera,0,15,-10
light=CreateLight()
RotateEntity light,45,0,0

sphere=CreateSphere(32)
EntityType sphere,1
EntityRadius sphere,1
PositionEntity sphere,0,11,0

cube=CreateCube()
EntityType cube,2
EntityColor cube,0,100,0
PositionEntity cube,0,-5,0
ScaleEntity cube,10,10,10
RotateEntity cube,0,20,20

gravi#=-.1
Collisions 1,2,2,2


While Not KeyDown(1)

   MoveEntity sphere,0,gravi#,0
   UpdateWorld
   RenderWorld
    If EntityCollided(sphere,2) Then gravi#=0
    If Not EntityCollided(sphere,2) Then gravi#=-.1
;geht nicht, da die Kugel immer wenn sie kollidiert ein bisschen zurückgesetzt wird, und daher nicht mehr kollidiert
   Flip
Wend
End
Twitter
Download Jewel Snake!
Windows|Android

ZaP

BeitragSo, März 04, 2007 18:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Graphics3D 640,480

camera=CreateCamera()
RotateEntity camera,45,0,0
PositionEntity camera,0,15,-10
light=CreateLight()
RotateEntity light,45,0,0

sphere=CreateSphere(32)
EntityType sphere,1
EntityRadius sphere,1
PositionEntity sphere,0,11,0

cube=CreateCube()
EntityType cube,2
EntityColor cube,0,100,0
PositionEntity cube,0,-5,0
ScaleEntity cube,10,10,10
RotateEntity cube,0,20,20

gravi#=-.1
Collisions 1,2,2,[b]1 <--- [/b]


While Not KeyDown(1)

   MoveEntity sphere,0,gravi#,0
   UpdateWorld
   RenderWorld
    If EntityCollided(sphere,2) Then gravi#=0
    If Not EntityCollided(sphere,2) Then gravi#=-.1
;geht nicht, da die Kugel immer wenn sie kollidiert ein bisschen zurückgesetzt wird, und daher nicht mehr kollidiert
   Flip
Wend
End
Starfare: Worklog, Website (download)

Holzchopf

Meisterpacker

BeitragSo, März 04, 2007 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
3 als vierter Parameter bei Collisions sollte IMO besser funktionieren, sonst wird er die Figur ja kaum bewegen können.
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Tankbuster

BeitragSo, März 04, 2007 19:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey! Danke!
Das das wie immer nur an einer Zahl liegt, hätt ich nicht gedacht xD
Twitter
Download Jewel Snake!
Windows|Android
 

Laias

BeitragDo, März 08, 2007 19:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab auch noch mal nen hinweis und tipp:

Is eigentlich ganz simpel:

If KeyDown(Scancode)
TranslateEntity,0,-1(muss den gleichen wert wie moventity haben),0
MoveEntity 1(der gleiche wert),0,0
End If

Vlt ja mal ganz nützlich man sollte die kamera aber am anfang auf augenhöhne stell(auf den Boden)

Sorry das ich nit so gut beschreibe kann

mfg

Laias
http://laias.wordpress.com

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group