Raumbau mit Wandanordnung.

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

El_Mariachi

Betreff: Raumbau mit Wandanordnung.

BeitragMi, Jun 20, 2007 20:14
Antworten mit Zitat
Benutzer-Profile anzeigen
aloha *lufthol*

Also, meine wenigkeit ist grad dabei auf einer isometrischen map den raumbau wie in sims , bzw ThemeHospital zu .. "einzubauen" ^^
Problem dabei ist ja logischer weise das die aussenwände dementsprechend angeordnet sein sollten , das heisst links nur "linke wände" etc.
Versucht hab ich das indem ich die mitte des raumes berechne und da die wände danach anordne. Klappt nur nich so ganz, da im gesamten feld einfach jede wand eingezeichnet wird. Arrow Meine frage ist nun entweder wie ich das behebe ODER ob jemand isomaperfahrener ist und da ne bessere lösung kennt !? Hab auch schon daran gedacht nen AnimImage zu nehmen wo für jede raumgrösse die entsprechenden tiles nacheinander eingezeichnet sind .. nur ich weiss nich Confused


;----------Code-------

Code: [AUSKLAPPEN]


Function raumbau()

   If raumbau_a=1
      DrawImage maus_2,mx-32,my+2
         If MouseHit(1)
            mausx=Real_X
            mausy=Real_Y
            raumbau_a=0
            raumbau_b=1
         EndIf
   EndIf
   
      
   If raumbau_b=1
         For x = Real_X To mausx
             For y = Real_Y To mausy
                Tile_Plotter(x,y)
               DrawImage maus_2,mx-32,my+2
                DrawImage raumbau2,plotx+viewx%,ploty+viewy%,map(Real_X,Real_Y,1)
               If MouseHit(1)
                  rx=Real_X
                  ry=Real_Y
                  rx2=mausx
                  ry2=mausy
                  raumbau_b=0
                  raumbau_c=1
               EndIf
              Next
         Next
   EndIf
   
   If raumbau_c=1
      For x = rx To rx2
         For y = ry To ry2
            Room_Plotter(x,y)
            mitteraum()
            DrawImage wall_ol,WandX+viewx%,WandY+viewy%,map(x,y,1)
         Next
      Next
   EndIf
   
   
End Function


Function mitteraum()
   
   map(x,y,1)=w
   p1 = rx+rx2
   pol = (rx+rx2/2)+(ry+ry2/2)
   If wall_ol > pol+y Then
      For x = rx To rx2
         For y = ry To ry2
      ;DrawImage wallset2,WandX+viewx%,WandY+viewy%,5,map(Real_X,Real_Y,2)
         DrawImage wall_ol2,WandX+viewx%,WandY+viewy%,map(x,y,1)
   ;DrawImage wall_ol2,WandX+viewx%,WandY+viewy%,map(Real_X,Real_Y,1)
   ;DrawImage wallset(map(Real_X,Real_Y,1)),WandX+viewx%,WandY+viewy%,2
         Next
      Next
   EndIf   

End Function


Function Room_Plotter(RoomX,RoomY)

   WandX = (RoomX-RoomY)*tile_w/2
   WandY = (RoomX+RoomY)*tile_h/2
   
End Function

Function Tile_Plotter(WorldX,WorldY)

   PlotX = (WorldX-WorldY)*tile_w/2
   Ploty = (WorldX+WorldY)*tile_h/2
   
End Function



;--------------------------

Ich weiss da sind 2 Plotter , is ja auch wurscht einer kommt halt wieder weg... Rolling Eyes
ich hoffe ich hab nix vergessen jetz hier .. ^^
  • Zuletzt bearbeitet von El_Mariachi am Mi, Jun 20, 2007 23:07, insgesamt 2-mal bearbeitet

BladeRunner

Moderator

BeitragMi, Jun 20, 2007 21:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Vorschlag:
Mach für jeden Raum eine eigene Nummer für die Bodenfelder. Dann lässt Du den Spieler die Bodenfelder markieren die zum Raum gehören. Deine Routine schaut nun ob die Nachbarfelder jedes Feldes auch zum Raum gehören oder nicht. Tun sie es: Keine Wand in der Richtung. Tun sie es nicht: Wand bauen.

Ach ja: nutze bitte die Code-Tags, wenn Du Code postest. Danke.
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
 

El_Mariachi

BeitragMi, Jun 20, 2007 22:55
Antworten mit Zitat
Benutzer-Profile anzeigen
hab das jetz mal irgendwie versucht ... schade , kommt nich viel bei rum Wink

nein wie genau soll ich jedem einzelnen feld ne nr zu schreiben
hiermit ?


Code: [AUSKLAPPEN]


Dim raumnr(x,y)
For x = rx To rx2
For y = ry To ry2
raumnr(x,y) = 1
Next
Next





ich kanns ausserdem in meinem bescheidenen gehirn nicht zusammensetzen wie ich die nachbarn einzelner tiles abfrage .. Embarassed
zum anderen weis ich dementsprechend auch nicht welche koordinate ich angeben sol.. ich glaub ich denke zu kompliziert Rolling Eyes

EDIT: verdammte hacke das kann doch nich so schwer sein *denk* lol Exclamation

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group