Monster mit "Dim" zeichnen und anschließend bewege
Übersicht

![]() |
Der EisvogelBetreff: Monster mit "Dim" zeichnen und anschließend bewege |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das weiß ich.
Aber wie bewege ich dieses Monster (automatisch). |
||
![]() |
FoppeleBetreff: Re: Monster mit "Dim" zeichnen und anschließend be |
![]() Antworten mit Zitat ![]() |
---|---|---|
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? ![]() |
||
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, aber wie macht man sowas? | ||
Gast |
![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ist aber übelste TileBewegung und sieht auch nicht sehr lecker aus.
Dazu viel zu kompliziert. |
||
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
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? |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Man sollte meine Codes nicht ausprobieren. Ich schreibe meistens nur Ansätze hin, aus denen man selber was herausfinden sollte. ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group