Code problem und berg hochrollen

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

emde

Betreff: Code problem und berg hochrollen

BeitragDi, März 13, 2007 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, ich habe noch mal 2 fragen erstens wieso funktioniert dieser code nicht:
Code: [AUSKLAPPEN]

Graphics3D 640,480
SetBuffer BackBuffer()
HidePointer()
Include "lib.bb"

;Globale variablen
   Const K_Ball = 1
   Const K_Stern = 2
   Global sterne=0
   Global nochsterne=10
   Global unsichtbar=5 
;end Global variablen

Collisions K_Ball,K_Stern,2,3



;Stern erstellen und positionieren
   Global stern=CreateCube()
   EntityType stern,K_Stern
   PositionEntity stern,0,1,2
   ScaleEntity stern,2,2,2
   EntityColor stern,255,255,0
   EntityRadius stern,2,2;
;ende stern


CreateLight()

;camera
   Global cam=CreateCamera(ball)
   PositionEntity cam,0,2,-3
;ende camera


Repeat
PointEntity cam,ball

TurnEntity stern,1,1,1
move()
kol()


UpdateWorld
RenderWorld
Text 100,0 ,"Sterne:"+""+ sterne +"/"+nochsterne
Flip
Until KeyHit(1)
End


Und hier die lib

Code: [AUSKLAPPEN]

Function move()
   If KeyDown(200) Then MoveEntity ball, 0,0,0.2
   If KeyDown(208) Then MoveEntity ball, 0,0,-0.2
   If KeyDown (205) Then TurnEntity ball, 0,-1,0
   If KeyDown(203) Then TurnEntity ball, 0,1,0
End Function move()
 
Function kol()
    ball=CreateSphere()
   EntityType ball,K_Ball
   PositionEntity ball,0,0,-5
   EntityRadius ball,2,2
   If EntityCollided(ball,K_Stern) Then
   sterne = sterne + 1
   PositionEntity stern,Rnd(-30,30),1,Rnd(-30,30)
   End If
End Function kol()


Und meine 2 frage ist. Wie kann ich es bewerkstelligen das meine kugel einen berg hochrollt?

emde

Blitzcoder

Newsposter

BeitragDi, März 13, 2007 20:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Du solltest dir vielleicht noch einmal ein Tutorial durchlesen, du erstellst mit deinem Code in der Hauptschleife (Normalerweise 60 Mal/Sekunde) eine neue Kugel. Sowas erstellt man einmal, und benutzt es dann immer.
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)
 

emde

BeitragDi, März 13, 2007 20:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Dies habe ich gaten weil er mir immer sagt entity does not exsist.

Eingeproggt

BeitragDi, März 13, 2007 20:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du den Debugger einschaltest markiert er irgendeine Zeile, in der das Entity "ball" vorkommt. Was heisst das? Dass "ball" nicht global ist!

EDIT: Wenn "ball" dann global ist, kannst du "CreateSphere" natürlich us deer Schleife nehmen.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

skey-z

BeitragDi, März 13, 2007 20:55
Antworten mit Zitat
Benutzer-Profile anzeigen
oder du übergibst der Funktion die variable ball
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

emde

BeitragMi, März 14, 2007 8:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe ball nun im hauptprogramm global gemacht, aber er sagt mir immer noch das es den entitiy nicht gibt.

Markus2

BeitragMi, März 14, 2007 13:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Mach das nach oben

global ball=CreateSphere()
EntityType ball,K_Ball
PositionEntity ball,0,0,-5
EntityRadius ball,2,2

und dann schaue dir man die Funk. TerrainY an .
Den Ball setzt du nur auf den Boden und durch die bewegung
mit EntityMove ball,x,TerrainY(EntityX(ball),EntityY(ball),EntityZ(ball)),z rollt der Berg auf/ab
 

darki

BeitragMi, März 14, 2007 16:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Gibt es dafür auch tuturial?
 

Dreamora

BeitragMi, März 14, 2007 18:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Wofür?
Fürs anwenden eines Befehls der in der Hilfe ein Beispiel hat?

Oder fürs Rollen ... ne dafür net, das musst du dir selbst schreiben (-> programmieren)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Markus2

BeitragMi, März 14, 2007 19:19
Antworten mit Zitat
Benutzer-Profile anzeigen
zum rollen kann dir das hier helfen

vx,vz ist die Beschleunigung

Code: [AUSKLAPPEN]

 Local XAngleAdjust#
 Local ZAngleAdjust#

 XAngleAdjust# = (myBall\vx# / myBall\Radius#) * (180.0/Pi)
 ZAngleAdjust# = (myBall\vz# / myBall\Radius#) * (180.0/Pi)
       
 TurnEntity myBall\Entity,ZAngleAdjust#,0,-XAngleAdjust#,True       

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group