Ball bewegen
Übersicht

![]() |
ToeBBetreff: Ball bewegen |
![]() Antworten mit Zitat ![]() |
---|---|---|
wie kann ich einen Ball realistisch bewegen?
Ich meine das der von alleine von den "Wänden" apprallt. Danke schon mal... |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
Lion |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
2D oder 3D ?
2D gabs glaub ich nen Beispiel bei Blitz3D dabei... mfg |
||
Intel Core 2 Quad 4x2.66 ghz - 4gb ddr2 - nvidia GeForce GTX660 2gb
Intel Atom 1x1.83 ghz - 2gb ddr2 - intel GMA 3150 256mb AMD A10-5750M 4x2.5 ghz - 8 gb ddr4 - AMD R9 M290x |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
2D...
Kann mia jemand helfen ? ![]() büdde... |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
wie wärs wenn du dir selber was ausdenkst?
Oder zeig mal deinen ansatz |
||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
![]() |
Hagbard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok, ein Ansatz:
*Da fällt mir gerade ein* Wie sollen wir dir helfen? Es gibt so viele Ballbewegungen! |
||
![]() |
DerHase |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ne einfache Variante die oftmals ausreicht ist, bei einer Kollision rechts oder links, die X-Geschwindigkeit mal -1 zu nehmen, und bei der Kollision oben oder unten entsprechend Y-Geschwindigkeit mal -1. | ||
Play Satyr! |
![]() |
TheMatrix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Genau so macht man das. Mann gibt den Winkel vorher vor und lässt dan den Ball damit sich bewegen. Wenn der Ball nun ein Gegenstand berührt, so nimmt man die Geschwindigkeit *-1. Hier mal ein kurzes Beispiel:
Code: [AUSKLAPPEN] Graphics 640,480,16,2 SetBuffer BackBuffer() start=1 While Not KeyHit(1) Cls : mx = MouseX() : my = MouseY() If start=1 Text 0,0,"Setze den Abschusswinkel und bestätige mit der Maustaste" w# = ATan2(mx,my-240) ; Ermittle den Winkel zwischen Maus und Startpunkt Line 0,240,Sin(w#)*100,240+Cos(w#)*100 ; Zeichne eine Linie, die immer auf die Maus zeigt If MouseDown(1) Then start=0 : ball_speedx = 5 : ball_speedy = 5 : ball_y = 240 Else Color 255,0,0 : Oval ball_x,ball_y,20,20 ball_x = ball_x + Sin(w#)*ball_speedx ; Ball wird im Winkel bewegt ball_y = ball_y + Cos(w#)*ball_speedy ; Kollisionsabfrage mit Bildschirm x<0 & x+ball_größe>640 If ball_x<0 Then ball_x = 0 : ball_speedx = ball_speedx*-1 If ball_x+20>640 Then ball_x = 620 : ball_speedx = ball_speedx*-1 ; Kollisionsabfrage mit Bildschirm y<0 & y+ball_größe>480 If ball_y<0 Then ball_y = 0 : ball_speedy = ball_speedy*-1 If ball_y+20>480 Then ball_y = 460 : ball_speedy = ball_speedy*-1 End If Flip 0 : Delay 5 Wend |
||
°_° °.° °~° °v° .. -.- |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm...ich hab da echt keine idee zu, außer :
Zitat: 1.: den abstoßwinkel berechen, weiß aba ach nich wie das get 2.: ball malen, weiß ich wie das get aba nich wie man den ball malen muss das der von alleine sich beweget 3.: rahmen festlegen, das der nich aus dem bildschirm hüpft Ich weiß das das eventuell nich in der richtigen reihenfolge is ![]() |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
TheMatrix |
![]() Antworten mit Zitat ![]() |
---|---|---|
1. Abstoss berechnet man mit Atan2(Ziel x - Mom. Pos X, Ziel y - Mom. Pos Y).
Als Ergebniss bekommst du einen Winkel, mit den du deinen Ball bewegen kannst. Siehe auch Onlinehilfe 2. Malen kannst du immer dein Ball mit drawimage oder oval ![]() 3. Kannst du nichtmal das einfache if then??? Du scheints dich ja so richtig zu bemühen, dein Problem zu lösen ^^. Hier ich geb dir mal einen Gedankenanstoss: if x<Rahmen Links, if x>Rahmen Rechts, if y< Rahmen un... ![]() Streng dich mal bitte ein wenig mehr an, ok? ![]() |
||
°_° °.° °~° °v° .. -.- |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
ok...
Code: [AUSKLAPPEN] Graphics 1600,1200,0,1 Schrift = LoadFont("Andy",50,1,0,0):SetFont Schrift NormalS = LoadFont("Times New roman",20,1,0,0) Geschw = Input("Spiel Geschwindigkeit :") SetFont NormalS Balken = CreateImage(50,300) SetBuffer ImageBuffer(Balken) Color 100,100,0 Rect 0,20,50,300 Cpu_Balken = CreateImage(50,300) SetBuffer ImageBuffer(Cpu_Balken) Color 100,100,0 Rect 0,20,50,300 SetBuffer BackBuffer() start=1 While Not KeyHit(1) Cpu_bally = ball_y Cls : mx = MouseX() : my = MouseY() If KeyDown(200) Then y = y - Geschw If KeyDown(208) Then y = y +Geschw If y <= 1 Then y = 1 If y >= 900 Then y = 900 If start=1 w# = ATan2(mx,my-240) ; Ermittle den Winkel zwischen Maus und Startpunkt Line 0,240,Sin(w#)*100,240+Cos(w#)*100 ; Zeichne eine Linie, die immer auf die Maus zeigt If MouseHit(1) Then Cls:start=0 : ball_speedx = Geschw : ball_speedy = Geschw: ball_y = 240 Else Color 255,0,0 : Oval ball_x,ball_y,50,50 ball_x = ball_x + Sin(w#)*ball_speedx ; Ball wird im Winkel bewegt ball_y = ball_y + Cos(w#)*ball_speedy ; Kollisionsabfrage mit Bildschirm x<0 & x+ball_größe>640 If ball_x<0 Then ball_x = 0 : ball_speedx = ball_speedx*-1 If ball_x+20>1550 Then ball_x = 1550 : ball_speedx = ball_speedx*-1 ; Kollisionsabfrage mit Bildschirm y<0 & y+ball_größe>480 If ball_y<0 Then ball_y = 0 : ball_speedy = ball_speedy*-1 If ball_y+20>1150 Then ball_y = 1150 : ball_speedy = ball_speedy*-1 If ImageRectCollide(Balken,1,y,0,ball_x,ball_y, 50,50) Then ball_speedy = ball_speedy*-1 ball_speedx = ball_speedx*-1 Points = Points + 1 EndIf If ImageRectCollide(Cpu_Balken,1550,Cpu_bally,0,ball_x,ball_y, 50,50) Then ball_speedy = ball_speedy*-1 ball_speedx = ball_speedx*-1 EndIf If Cpu_bally >= 900 Then Cpu_bally = 900 If Cpu_bally <= 0 Then Cpu_bally = 0 If ball_x = 0 And ball_y >0 Then Points = Points - 1 End If DrawImage Cpu_Balken,1550,Cpu_bally DrawImage Balken,1,y SetFont NormalS Text 1,1000,Points Flip 0 : Delay 5 Wend End das is ein code den ich bisher "überschrieben" habe(von : TheMatrix) jetzt hab ich aba 'n neues problem: wie kann ich das jetzt machen, das der Ball,wenn dieaser den Cpu_Balken trifft dan auch aprallt wie bei dem von dem SpielER !? |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
DerHase |
![]() Antworten mit Zitat ![]() |
---|---|---|
Genau so ?! | ||
Play Satyr! |
![]() |
TheMatrix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jo, so oder so ähnlich. Ich würde für so ein Spiel aber nicht so eine heftige Auflösung nehmen und es wäre gut, wenn der Ball auch rausfliegen kann. Das kann ja deine nächste Aufgabe sein ![]() |
||
°_° °.° °~° °v° .. -.- |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja...jetzt hab ich ersma so gemacht, das mit den punket und so...^^ | ||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group