Schuss von Spieler

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Belion

Betreff: Schuss von Spieler

BeitragDo, Nov 25, 2010 19:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Huhu, nach langem mal wieder eine Frage,... und bitte verweist mich doch nicht auf die Suchfunktion,
ich grab mich bereits seit Stunden durchs Forum.

Ich hab ein Code hier.

Code: [AUSKLAPPEN]
Graphics 800,600,16,2
SetBuffer BackBuffer()


Type schuss
    Field x,y
End Type
Repeat
Cls


If MouseHit(1) Then

    s.schuss = New schuss
s\x = MouseX()
s\y = MouseY()
EndIf
For s.schuss= Each schuss
Oval s\x,s\y,5,5,1s\y=s\y - 3
If s\y < 1 Then Delete s



Next
       
Flip
Until KeyHit(1)
End


Dieser schießt bällchen in den Norden, also an die Decke, .. wie kann ich es jetzt anstellen, dass ich eine Figur habe, belassen wir es bei einem Sinnlosen Strich, die man mit der Maus, drehen und logischerweise auch schießen kann. Das ganze soll natürlich dann auch schräg geschossen werden Wink.

Kann mir da vielleicht jemand helfen?

Xeres

Moderator

BeitragDo, Nov 25, 2010 19:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Atan2 ist, was du suchst (es sei denn, du möchtest das über Vektoren lösen).
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Belion

BeitragDo, Nov 25, 2010 19:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaub ich stell mich zu blöd an Wink.

Kann mir jemand mal ein Beispiel posten?,
bekomme es einfach nicht in Verbindung meines Scriptes nicht auf die Reihe.

Evtl. auch kommentiert, damit ich davon lerne Wink.

Xeres

Moderator

BeitragDo, Nov 25, 2010 20:01
Antworten mit Zitat
Benutzer-Profile anzeigen
a) Code <> Skript
b) Gibt es schon einige male im Forum:
Sinus, Kosinus, Atan2 Beispielcode
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

BladeRunner

Moderator

BeitragDo, Nov 25, 2010 20:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Atan2 hat doch ein wundervolles Beispiel mit dabei. Und auch wenn Du es nicht hören willst: per Suche wirst Du kiloweise Material zu exakt deiner Frage finden.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Dottakopf

BeitragFr, Nov 26, 2010 8:40
Antworten mit Zitat
Benutzer-Profile anzeigen
ah musste mich da auch mal vor einiger zeit ärgern.
Hier ein lauffähiger code:
Code: [AUSKLAPPEN]


Graphics 800,600,16,2
SetBuffer BackBuffer()


Global counter,mx#,my#


Type pop
   Field px#
   Field py#
   Field p_speed#
   Field p_target_x#
   Field p_target_y#
   Field p_winkel#
End Type






Repeat
Cls

     mx = MouseX()
     my = MouseY()
 
    do_pops()




Flip
Until KeyHit(1)


Function do_pops()


   counter = counter +1
   If counter >= 10 Then
      counter = 0
 
       info.pop = New pop
      info\px = 400
      info\py = 300
      info\p_speed = 3
      info\p_target_x = mx
      info\p_target_y = my
   
        ;flugbahn(winkel)
   info\p_winkel=  ATan2((info\py - info\p_target_y) , (info\px - info\p_target_x) )+360 Mod 360
     
     
   End If



   For info.pop = Each pop
     
              info\px = info\px -Cos(info\p_winkel) * info\p_speed
              info\py = info\py  - Sin(info\p_winkel ) * info\p_speed

          Rect info\px,info\py,5,5,1
  Next


End Function
 




und hier wird das Thema besprochen.. wäre super wenn du auch mal kurz reinlesen könntest und nicht nur den code kopierst Smile

https://www.blitzforum.de/foru...light=atan


Viel Spaß
Dottakopf
Rechtschreibfehler gelten der allgemeinen Belustigung!

Belion

BeitragSa, Nov 27, 2010 0:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm ich bin jetzt schon ein wenig weiter,

Angenommen ich habe ein Bild, dieses soll sich auf der Y-Achse nach unten bewegen.
Jemand tipps wie ich das anstell?

Xeres

Moderator

BeitragSa, Nov 27, 2010 0:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
y=y+1
Question
Komische Frage...
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Belion

BeitragSa, Nov 27, 2010 0:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Ups, mein Fehler, hab mich mit ungewollt der Fragestellung vertan, ich meine wie ich es Random hinbekomme dass es evtl hoch/runter sich bewegt und zwar zufällig Wink.

Xeres

Moderator

BeitragSa, Nov 27, 2010 0:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Nun: Offensichtlich ist ein Rand(-2,2) keine zu gute Idee - das zittert zu stark. Besser ist, einen timer zu verwenden um nach zufälligen zeit spannen einen neuen zufallswert zu generieren.
Siehe Millisecs und/oder Forensuche Stichwort "Timer".
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

BladeRunner

Moderator

BeitragSa, Nov 27, 2010 9:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich fordere dich hiermit auf, belion, bei deinen Fragestellungen a) mehr Sorgfalt zu zeigen und b) deine eigenen Versuche in Form von Code oder Überlegungen dazu mitzugeben. Ich hab so ein wenig den Eindruck Du möchtest dass wir Dir dein Spiel schreiben während Du dich bequem zusiehst.
Daher: selber probieren ist angesagt.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Belion

BeitragSa, Nov 27, 2010 12:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Geht Klar Very Happy.

Belion

BeitragSa, Nov 27, 2010 20:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Angenommen ich lade ein einzelnes Bild, nennen wir es "Map"

Code: [AUSKLAPPEN]
map = LoadImage ("gfx/map.png")
  DrawImage map, 0, 0


Kann ich dann die Kollsionen über coordinaten machen, oder MUSS ich das bild einzelnt zerlegen?

Hoffe es wird verstanden was ich meine, als Beispiel, ich habe ein Stein gepixelt, der geht aber weitaus mehr als 32x32 pixel an der größe, zbs 40x57 pixel. Aber wenn ich tilemaps mache muss ich ja alles einheitlich in einem maßstab machen, ergo 32x32 pixel. Aber dann läuft man ja zum teil in den stein hinein, da ja nur 32x32 abgemessen wird an dem punkt.??

BladeRunner

Moderator

BeitragSa, Nov 27, 2010 20:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Kann ich dann die Kollsionen über coordinaten machen

Kannst Du. Ist ein Stückel Mathematik.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Belion

BeitragSa, Nov 27, 2010 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Magst du mir evtl, die Befehle nennen die ich dafür benötige?
Dann kann ich mich in Datenbank damit vertraut machen, und bekomme es vielleicht hin.

Oder gibt es eine Alternative zu mein Problem?

BladeRunner

Moderator

BeitragSa, Nov 27, 2010 21:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Im Wesentlichen würde das über types laufen welchen du Objektkoordinaten und Ausmasse auf den Weg geben würdest.
Diese kannst Du dann mit for each durchlaufen und mit deinen spielerkoordinaten testen. Das ist Mathe pur.
Allerdings sind Tilemaps einfacher zu realisieren, weswegen sie sich auch durchgesetzt haben.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Jamagin

Betreff: OnlineHilfe lesen...

BeitragSa, Nov 27, 2010 22:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich sag nur Online Hilfe lesen...!
Und wenn man echt nicht weiterkommt, wird dir sicher geholfen! Aber Bladerunner hat schon recht!

Wenn ich in meinem Projekt stecke, frage ich auch und es gibt wirklich tolle User hier die einem helfen, aber jedes Problem fragen? tztztz

Ich zB. versuche es über Wochen hinaus und wenn es dann nicht klappt, frage ich!

Aber ich will ja nicht kritisieren...!

lg. Jamagin Cool
Bevor du etwas neues beginnst, erledige das alte

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group