Fragen/Probleme/achwasweissich zu "Ballrennen"
Übersicht

![]() |
The_NiciBetreff: Fragen/Probleme/achwasweissich zu "Ballrennen" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Moinsens.
Ich und noch jemand versuchen gerade ein Ball-Roll-Rennen zu proggen, da hat es so einige Probleme. 1.) Die Kamera dreht sich dank EntityPoint immer zum Ball. leider sieht sie so immer von oben. kann man die Kamera auch mit EntityPoint mit 70 grad auf den ball blicken lassen? 2.) Seit einer kleinen Physik-Modifizierung rollt usner Ball nichtmehr. ich habs, wie unten im Source gezeigt versucht, geht aber nicht 3.) Wenn der Ball Kollidiert, soll die Cam auch anhalten. Tut sie aber leider nicht. Sie fliegt weiter 4.) Wie unten ebenfalls gezeigt habe ich versucht, Schwerkraft zu simulieren, indem ich YPos immer 0.1 abgezogen habe. Funktioniert nicht. Sourcecode: Code: [AUSKLAPPEN] Const FPS=50
period=1000/FPS time=MilliSecs()-period Graphics3D 800,600,32,2 SetBuffer BackBuffer() Kamera=CreateCamera() PositionEntity Kamera, 0,0,-7 EntityType Kamera, 10 Ball=CreateSphere(20) PositionEntity Ball, 0,0,0 balltextur=LoadTexture ("Balltextur.jpg") EntityTexture Ball, balltextur EntityType Ball, 10 Hindernis=CreateCube() PositionEntity Hindernis, 0,0,10 EntityType Hindernis, 20 Boden=CreateCube() ScaleEntity Boden, 50,1,50 PositionEntity Boden, 0,5,0 EntityColor Boden, 100,100,100 EntityType Boden, 20 XPos#=0 ZPos#=0 YPos#=0 XGes#=0 YGes#=0 ZGes#=0 While Not KeyHit(1) If KeyDown(208)=1 Then ZGes=ZGes+.01 ; pitch#=pitch#+ZGes+10 End If If KeyDown(200)=1 Then ZGes=ZGes-.01 ; pitch#=pitch#-ZGes+10 End If If KeyDown(203)=1 Then XGes=XGes-.01 ; roll#=roll#-XGes+10 End If If KeyDown(205)=1 Then XGes=XGes+.01 ; roll#=roll#+XGes+10 End If ;Rollwiederstand XGes=XGes/1.01 ZGes=ZGes/1.01 ;Positionierung XPos=XPos+XGes ZPos=ZPos+ZGes ,Versuch, Schwerkraft zu erzeugen >.< PositionEntity Ball,XPos,YPos-0.1,ZPos PositionEntity Kamera,XPos,YPos-15,ZPos ;versuch, rollen zu lassen. :/ RotateEntity Ball,XGes,0,ZGes PointEntity Kamera, Ball Collisions 10,20,2,2 UpdateWorld RenderWorld Flip Wend End |
||
![]() |
NightPhoenix |
![]() Antworten mit Zitat ![]() |
---|---|---|
- das mit der kamera solltet ihr mit entityparent lösen
- das mit der gravitation entweder mit einem richtungsvektor oder einem pivot - dass der ball rollt macht ihr durch gefaktes rollen ^^ ganz einfach - dank entityparent hält die kamera auch an MfG. |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
1.) Jetzt ist 1. alles gedreht, 2. liegt die Kamera jetzt im Ball
2.) Gibt es dazu ein Beispiel? 3.) Wie gefaktes rollen. was meinst du damit? 4.) Siehe 1. |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
1.Du musst die Kamera erst plazieren, und dann an die Kamera hängen!
2. Das einfachste wäre wohl, einfach den Ball immer nach unten zu bewegen..."MoveEntity Ball,0,-1,0" 3. Einfach den Ball rotieren lassen^^ MFG: TAnk |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
1.) EDIT: versursacht Probleme, siehe oben...
2.) hab ich ja gemacht, geht aber nicht 3.) hab ich ja gemacht, geht aber nicht |
||
![]() |
NightPhoenix |
![]() Antworten mit Zitat ![]() |
---|---|---|
wenn er moveenity ball macht und er den ball richtig drehen lässt, dann wird sich die moveenity y-achse auch drehen -> ball wirbelt herum...
Code: [AUSKLAPPEN] ball=createsphere()
kamera=createcamera(ball) positionentity kamera,0,5,-10 fertig |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mit Moveentity dreht aber der ball um eine Achse die irgendwo inner scheisse ist...
Und wieviel mal muss ichs noch sagen: wenn ich die Kamera an den ball hänge, und umgekehrt, dann ist alles verkehrt, die Steuerung ist komisch und wenn der Ball sich danach dreht wird die Cam auch drehen -_- |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
OH! stimmt.... da hab ich wohl nicht richtig nachgedacht *wiesooft*
Zitat: dann ist alles verkehrt
Wie? steht die ganze Welt am Kopf, oder was? Wenn ja, erst die Kamera Rotieren, und dann an den Ball hängen. Du kannst die Kamera auch immer an die Position des Balles verschieben, dann ein bisschen hoch verschieben, und ein bisschen zurück. Dann mit PointEntity auf den Ball ausrichten. Dann läuft die Cam zwar hinter dem Ball her, aber dreht sich nicht mit, wenn der Ball sich dreht! |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
biggicekey |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich gebe einen hinweis zur schwerkraft.
es gibt auch noch "translateentity" da is die drehung des balles egal. sonst mit nem pivot mahen wie schon gesagt. der rest der fragen ist so lächerlich das er 1. in beginner gehört und 2. durch nen paar tutorials und forensuche etc selbst erarbeitet werden kann. ![]() |
||
#45 www.icekeyunlimited.de www.starcrusade.de
Gewinner BCC#17 !!! mit dotkiller Nothing more to register - you've cleaned us out![/size] |
![]() |
biggicekey |
![]() Antworten mit Zitat ![]() |
---|---|---|
EDIT sry 2 mal abgeschickt | ||
#45 www.icekeyunlimited.de www.starcrusade.de
Gewinner BCC#17 !!! mit dotkiller Nothing more to register - you've cleaned us out![/size] |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nach PointEntity kann man noch RotateEntity benutzen
PointEntity cam,ball RotateEntity cam, DeinWinkel ,entityyaw(cam),entityroll(cam) |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
PointEntity könntest du dann auch weglassen, da es keinen Sinn ergeben würde ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
@tankbuster: Es wird einen Sinn ergeben.
Ich hab jetzt die ratschläge mit der Cam befolgt...jetzt siehts (immernoch) so aus, auch mit rotateentity. ![]() Hab die Cam annen Ball gehängt. |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und du hast die Cam wirklich richtig rotiert?? mach das mal ohne das EntityParent. Wenn die Cam dann am Anfang falschrum ist, hast dus falsch gemacht. | ||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
-_- ich hab sie rotiert, z um 180°, und ohne parententity gehts. War ja klar, oder? | ||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich meine ja nur: Vielleicht hast du's ja immernochnet richtig.
Wenn dus schon so hattest, poste ma bidde den code^^ Das funzt: Zitat: rotateentity kamera,0,5,-10 cam an ball hängen Das funzt NICHT: Zitat: cam an ball hängen rotateentity kamera,0,5,-10 *EDIT~ Ich kanns mir einfach net erklären........................................ |
||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier was zum spielen ![]() Müßt ihr nur die Texturnamen einstellen Code: [AUSKLAPPEN] Graphics3D 800,600,32,2 SetBuffer BackBuffer() Global Piv=CreatePivot() Global Ball=CreateSphere(20,Piv) ScaleMesh Ball, 0.5,0.5,0.5 PositionEntity Piv, 0,0,0 EntityType Piv, 10 Radius#=0.5 EntityRadius Piv,Radius balltextur=LoadTexture("StainGlass.jpg") EntityTexture Ball, balltextur ScaleTexture balltextur ,1/4.0,1/2.0 EntityAlpha Ball,0.6 Global Kamera=CreateCamera() PositionEntity Kamera,0,2,-10 EntityType Kamera, 10 AmbientLight 24,24,24 Global Light=CreateLight(2) LightRange Light,250 LightColor Light,255,255,240 Hindernis=CreateCube() ScaleMesh Hindernis, 0.5,0.5,0.5 PositionEntity Hindernis, 0,0.5,10 EntityType Hindernis, 20 Bodentextur=LoadTexture("cc200155.jpg") Boden=CreateCube() ScaleMesh Boden, 0.5,0.5,0.5 ScaleMesh Boden, 100,1,100 PositionEntity Boden, 0,-0.5,0 ;EntityColor Boden, 100,100,100 EntityType Boden, 20 EntityTexture Boden, Bodentextur ScaleTexture Bodentextur,1/50.0,1/50.0 XB#=0 YB#=0 ZB#=0 Xg#=0 Yg#=0 Zg#=0 z#=0 w#=0 Local t1 ;Zeitmessung Collisions 10,20,2,2 While Not KeyHit(1) t1=MilliSecs() Xb=Xb*0.85 Zb=Zb*0.85 z=z*0.9 If KeyDown(200)=1 Then Z=Z-0.01 ;vor If KeyDown(208)=1 Then Z=Z+0.01 ;zurück If KeyDown(203)=1 Then EntityParent Kamera,Piv:TurnEntity Piv,0, 1.0*(-z*25.0+1.5),0:EntityParent Kamera,0 If KeyDown(205)=1 Then EntityParent Kamera,Piv:TurnEntity Piv,0,-1.0*(-z*25.0+1.5),0:EntityParent Kamera,0 If CameraZuBall()<3 And z>0 Then z=0 ;nicht auf die Kamera zu w=WinkelZurKamera() Xb=Xb+Sin(w)*z Zb=Zb+Cos(w)*z z=Limit(z,-0.5,0.5) xb=Limit(xb,-1,1) zb=Limit(zb,-1,1) Local XAngleAdjust# Local ZAngleAdjust# XAngleAdjust# = (xb# / Radius#) * (180.0/Pi) ZAngleAdjust# = (zb# / Radius#) * (180.0/Pi) TurnEntity Ball,ZAngleAdjust#,0,-XAngleAdjust#,True PositionEntity Piv,EntityX(Piv)+xb,Radius,EntityZ(Piv)+zb UpdateWorld RenderWorld ;Text 0,0,z While Abs(t1-MilliSecs())<10 Wend Flip Wend End Function CameraZuBall#() Local dx#=EntityX(Kamera)-EntityX(Piv) Local dz#=EntityZ(Kamera)-EntityZ(Piv) Local e#=Sqr(dx*dx + dz*dz) ;nah langsam klein ;weit schnell groß If e>4.0 Then dx=dx-(dx/e)*4.0 dz=dz-(dz/e)*4.0 PositionEntity Kamera,EntityX(Kamera)-dx/10.0,2,EntityZ(Kamera)-dz/10.0 EndIf PointEntity Kamera, Piv ,0 If EntityPitch(Kamera)>45 Then RotateEntity Kamera,45,EntityYaw(Kamera),0 ;Winkel der Kamera begrenzen ;Licht dahin wo Kamera nur höher PositionEntity Light,EntityX(Kamera),10,EntityZ(Kamera) PointEntity Light, Piv ,0 Return e End Function Function Limit#(v#,mi#,ma#) If v<mi Then Return mi If v>ma Then Return ma Return v End Function Function WinkelZurKamera#() Local dx#=EntityX(Kamera)-EntityX(Piv) Local dz#=EntityZ(Kamera)-EntityZ(Piv) Return ATan2(dx,dz) End Function |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Markus: juchu danke! Jetzt kann ich weiterarbeiten. Werd mich mal durch den Code lesen. =) | ||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@The_Nici
jup, wenn du daran was nicht verstehst frag ![]() |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, jetzt, Frage:
Wenn ich Schwerkraft will, muss ich dann den Pivot runter bewegen, oder? Habs versucht, hat aber nicht geklappt. :/ Tipps? |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group