Monster mit "Dim" zeichnen und anschließend bewege

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Der Eisvogel

Betreff: Monster mit "Dim" zeichnen und anschließend bewege

BeitragDi, Dez 18, 2007 16:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo
ich möchte in meinem Spiel die Monster mit der "Dim"-Funktion zeichnen,
dass heißt wenn in den Mapdaten eine 1 ist soll ein Monster in diesen bereich auf den Bildschirm gesetzt werden und dann mit einer anderen Funktion berwegt werden.
Kann mir jemand sagen wie ich sowas machen kann oder geht das garnicht?
  • Zuletzt bearbeitet von Der Eisvogel am Di, Dez 18, 2007 17:14, insgesamt einmal bearbeitet

BigMaexle

BeitragDi, Dez 18, 2007 17:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
 If Level (MapX,MapY) = 1 then DrawImage Monster,MapX*TileBreite,MapY*TileHöhe


Genau Das hast du selbst in einer Frage geschrieben
--------------------------------------
Ich bin unfreiwillig ein Mitglied dieser kapitalistischen Gesellschaft, wo jeder Geldgeile Unternehmer an mein Geld will und ich selbst bei meinen Entscheidungen so gut wie willenlos bin...... und ich bin glücklich drüber

Der Eisvogel

BeitragDi, Dez 18, 2007 17:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Das weiß ich.
Aber wie bewege ich dieses Monster (automatisch).

Foppele

Betreff: Re: Monster mit "Dim" zeichnen und anschließend be

BeitragDi, Dez 18, 2007 17:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Marc-Peter hat Folgendes geschrieben:

...wenn in den Mapdaten eine 1 ist soll ein Monster in diesen bereich auf den Bildschirm gesetzt werden und dann mit einer anderen Funktion berwegt werden.


Du schreibst eine andere Funktion, die das Monster bewegt? Confused

Der Eisvogel

BeitragDi, Dez 18, 2007 17:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, aber wie macht man sowas?
 

Gast

BeitragDi, Dez 18, 2007 17:41
Antworten mit Zitat
Code: [AUSKLAPPEN]

Function MoveMonsters()
For X = 0 To Levelbreite
    For Y = 0 To Levelhohe
        If Map(X,Y) = 1 Then
            Map(X+1,Y) = 1
            MAp(X,Y) = 0
        EndIf
    Next
Next
End Function

Nach diesem Prinzip?

The_Nici

BeitragDi, Dez 18, 2007 18:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Flitztüte: Blabla. So machst du Monster hin.

Ich würde jedes Monster in ein type machen.
Code: [AUSKLAPPEN]

Type monster
   Field x
   Field y
End Type

So, das Image brauchen wir nicht im Type zu speichern, denn BlitzBasic kann ein Image mehrmals auf den selben Screen zeichnen. Also lädst du dann eines.
Code: [AUSKLAPPEN]

Monsterimage=Loadimage("bla.png")

Jetzt ein neues Monster. Wir platzieren es an den Mapkoordinaten.
Code: [AUSKLAPPEN]

For my=0 to 15
   For mx=0 to 20
      If Map(mx,my)=1 then
         m.monster=new monster
         m\x=mx*32
         m\y=my*32
      EndIf
   Next
Next

Toll. jetzt haben wir Monster. Nun, wie bewegen? Wir überprüfen erstmal ob es mit einem Tile kollidiert. "DerHase"'s Scrollingcode mit Kollisionen ist ganz toll für Kollisionen, und empfehlenswert.

Ich werde jetzt mal keine Codes posten, aber dies sollte ein Ansatz sein:
Ist die Playerkoordinate x grösser als die des Monsters und ist kein Tile in die Richtung? Bewege das Monster + seine Geschwindigkeit.
Und von Y subtrahierst du immer die Schwerkraft, wenn kein Tile im Weg ist.

MfG

PS: Ich weiss jetzt nicht ob das nicht deine Fähigkeiten übersteigt.
 

Gast

BeitragDi, Dez 18, 2007 18:25
Antworten mit Zitat
Nein, ich Bewege das monster nach rechts ;
1. Wenn Map(X,Y) = 1 ist dann Gehe ich weiter zu schritt 2+3
2. Ich setze Map(X+1,Y) auf 1, also den Monsterwert.
3. Ich MAche Map(X,Y) auf 0, damit das alte Monster "verschwindet".
4. Beim nächsten mal ist dann eben Map(X,Y) wie Map(X+1,Y) beim 1. Mal.

The_Nici

BeitragDi, Dez 18, 2007 18:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist aber übelste TileBewegung und sieht auch nicht sehr lecker aus.
Dazu viel zu kompliziert.

Der Eisvogel

BeitragDi, Dez 18, 2007 21:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Nici ich habe deinen Code aus probiert.
Natürluch habe ich ihn in meinen eingefügt.
Aber die Monster sind nicht auf dem Bildschirm.
Die muss man noch irgenwie hinmalen.
Aber ich weiß nicht wie man das macht.
Kannst du mir vielleicht helfen?

BladeRunner

Moderator

BeitragDi, Dez 18, 2007 22:01
Antworten mit Zitat
Benutzer-Profile anzeigen
ql:drawimage
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

The_Nici

BeitragDi, Dez 18, 2007 22:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Man sollte meine Codes nicht ausprobieren. Ich schreibe meistens nur Ansätze hin, aus denen man selber was herausfinden sollte. Wink

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group