vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Unabhängige Bewegung zweier ImageBoxen 
Autor: Boris
Datum: 30.01.03 10:31

Hy!

Ich bin gerade dabei mein erstes kleines game zu proggen.
Man sieht das ganze aus der Vogelperspektive, und ich bin mittlerweile soweit, dass man mit einer Spielfigur durch die landschaft wandern kann.

Nun soll man auch schießen können. ich konnte es soweit realisieren,
dass eine 2. imagebox mit einem Laser als inhalt sich von der Position des spielers in die richtige richtung wegbewegt.
allerdings hab ich 2 probleme: erstens: das genze funzt nach rechts, oben, und unten, aber nicht nach links!

und zweitens: wenn ich mich nun drehe, während der laser noch fliegt, dann ändert sich auch die richtung des lasers! (mir ist schon klar warum das so ist, aber ich weiß nicht wie ich es ändern kann)


hier mein code
Private Sub form_Load()
  Me.KeyPreview = True
  Image2.Visible = False
End Sub
 
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  With Image1
    Select Case KeyCode
      Case vbKeyLeft
        KeyCode = 0
        Position.Text = "Left"
        Image1.Picture = LoadPicture(App.Path & "\man_left.gif")
        If .Left > 0 Then .Left = .Left - 5
 
      Case vbKeyRight
        KeyCode = 0
        Position.Text = "Right"
        Image1.Picture = LoadPicture(App.Path & "\man_right.gif")
        If .Left + .Width < Me.ScaleWidth Then .Left = .Left + 5
 
      Case vbKeyUp
        KeyCode = 0
        Position.Text = "Up"
        Image1.Picture = LoadPicture(App.Path & "\man_up.gif")
        If .Top > 0 Then .Top = .Top - 5
 
      Case vbKeyDown
        KeyCode = 0
        Position.Text = "Down"
        Image1.Picture = LoadPicture(App.Path & "\man_down.gif")
        If .Top + .Width < Me.ScaleWidth Then .Top = .Top + 5
 
      Case vbKeySpace
      KeyCode = 0
      Image2.Visible = True
      Image2.Left = Image1.Left
      Image2.Top = Image1.Top
      Timer1.Enabled = True
    End Select
  End With
End Sub
 
 
 
Private Sub Timer1_Timer()
 
If Position.Text = "Up" Then
Image2.Top = Image2.Top - 15
End If
 
If Position.Text = "Down" Then
Image2.Top = Image2.Top + 15
End If
 
If Position.Text = "left" Then
Image2.Left = Image2.Left - 15
End If
 
If Position.Text = "Right" Then
Image2.Left = Image2.Left + 15
End If
 
 
End Sub
beim drücken einer richtungstaste, wird also die richtung in die textbox geschrieben.
schießt man dann, wird sie ausgelesen. natürlich ändert sich nun die richtung des schusses, wenn ich mich wieder drehe.
was könnte man da machen ?

ich hoffe dass das hier einigermaßen verständlich ist
vielen dank schonmal für eure antworten!

cu
Bris

"640 KB Ram sind mehr als irgendein Programm jemals ben?tigen wird."
- (Bill Gates - 1981)

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Unabhängige Bewegung zweier ImageBoxen407Boris30.01.03 10:31
Oder könnte man das schießen generell anders machen ? ohne t...184Boris30.01.03 10:47
Laser in die richtige Richtung ;)185Liechte30.01.03 11:04
was passiert wenn du nach Links gehen willst?281Liechte30.01.03 11:05
Re: was passiert wenn du nach Links gehen willst?188Boris30.01.03 11:08
momentchen ich zeig es dir ;)193Liechte30.01.03 11:11
ahh! alles klar! vielen dank, ich progg jetzt einfach mal we...203Boris30.01.03 11:13
LOL189Liechte30.01.03 11:12
*lol* tja.... die kleinen bugs die einem das leben zur höll...190Boris30.01.03 11:15

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel