Iso Tiles

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

KddC

Betreff: Iso Tiles

BeitragSa, Nov 03, 2007 16:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin...ich wollt jetzt mit iso tiles anfangen und mir vorher nochn paar tuts oder Beispiele ansehen um zu sehen wie das denn funktioniert.
Ich hab auch schon die Suche bemüht aber leider sind die links die in den ganzen threads angegeben schon tot:(....weiß jemand n link wo es noch tuts gibt oder hat jemand n paar tuts...bei der googlesuche hab ich auch nur was von Alims tut gelesen aber wie ich schon sagte links sind alle tot.

danke und mfg

SpionAtom

BeitragSa, Nov 03, 2007 18:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Jetzt poste ich das glaub ich schon zum dritten male, aber es ist wirklich gut (nur englisch):
http://www.tonypa.pri.ee/tbw/start.html

Das Tutorial hat seine Beispiele zwar in Flash gemacht, aber dadurch verlieren die Grundideen ja nicht ihre Bedeutung.
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

KddC

BeitragSa, Nov 03, 2007 20:08
Antworten mit Zitat
Benutzer-Profile anzeigen
werde ich mir auf jeden fall noch einmal anschauen...Ich habe nun eine Frage...Ich habe etwas mir den quellcode ausm codearchieve von abrexxes zum thema iso tiles dass der ja von farbfinsternis hat mal angeschaut und n bisschen rumprobiert um zu verstehen wie das ganze funktioniert....Werte verändert-geguckt was passiert-daraus gefolgert wozu dieser Wert den gut ist-und draus gelerent;)...gibt zwar immer nochn paar punkte die ich nicht so richtig verstanden habe aber im großen und ganzen schon....
nun habe ich die frage wie die schritte von von den gesetzten iso images verändern kann...also die abstände....und dann noch folgende frage: Die einzelnen isoblöcke werden ja in ner animimage gelade werden...und dann werden ja immer die einzelnen frames einer image gespeichert....und wenn man einen block setzt wird ja nr das frame an diesem punkt geändert...dann sind die ja aber leider immer gleich groß und man kann die größe nicht ändern....und ein anderes bild kann man da ja auch nicht einsetzen...sollte man dass dann nicht mit ner animimage lösen?...das Problem wäre dann ja nur dass man zu beginn seeehr vile bilder für jedes iso tile laden müsste....ie würdet ihr das machen?
danke und fg
kddc.l3usch

KddC

BeitragSo, Nov 04, 2007 19:04
Antworten mit Zitat
Benutzer-Profile anzeigen
sry wgen doppelpost aber kann mir denn niemand helfen....ich habe schon ziemlich viel versucht um auch größere tiles zu setzen aber das war ales nicht so das wahre weil das oft ziemlich umständlich oder rechnerlastig war:(...würdet ihr mir generel zum thema isotiles eher von loadanimimage abraten oder gibt es auch die Möglichkeit nur einzelne Abschnitte einer animimage zu vergrößern? Oder wie würdet ihr das machen?
Ich bin ja auch bereit selber zu denken....aber n kleiner ansatz wäre nett:D
mfg

Nescio

BeitragSo, Nov 04, 2007 19:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Wozu willst du die einzelnen Bereiche vergrößern?

Ansonsten: Gesamtbild vergrößern und die Breite und Höhe in LoadAnimImage() anpassen.

(Hoffe, das hilft irgendwie)

MfG Nescio
Quod est faciendum? Nescio!

KddC

BeitragSo, Nov 04, 2007 19:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja....es sind ja nun einmal einige gebäude größer als einige...und eine straße ist ja nun einmal auch nicht so groß wie eine ganze Fabrik Very Happy ....aber wenn ich will wenn dann nur einzelne Bereiche vergrößern...das geht nicht oder?

Nescio

BeitragSo, Nov 04, 2007 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
mit BlitzBasic meines Wissen nach nicht...
aber du könntest zB im Original pic irgendwie die Fabrik auf zB 4 Teile aufteilen, die die Größe des Standardteiles haben.... oder ne Extra-Datei für alle größeren Sachen erzeugen.

zB

Code: [AUSKLAPPEN]

strassen=LoadAnimImage("streets.bmp",32,32,0,8)
gebaude=Loadanimimage("buildings.bmp",64,64,0,10)


und so weiter...

MfG

Nescio
Quod est faciendum? Nescio!

KddC

BeitragSo, Nov 04, 2007 20:27
Antworten mit Zitat
Benutzer-Profile anzeigen
okay n anderer Ansatz....es wird jetzt jedes bild einzeln geladen...aber es gibt nach wie vor ein Problem nmlich dass die tiles nicht ganz dargestellt werden wenn sie größer sind...Das bild wird es wohl erklären:
user posted image

Hier ist der Quellcode samt Bildern....(Das Hotel habe ich mir vorrübergehend von Theotheoderich benutzt...hoffe du hast nichts dagegen)...
https://www.blitzforum.de/upload/file.php?id=2272

Wäre nett wenn ihr euch das mal anschauen könntet...ich weiß echt nicht was ich noch machen soll

mfg
 

Dreamora

BeitragDi, Nov 06, 2007 17:06
Antworten mit Zitat
Benutzer-Profile anzeigen
das problem ist, dass du da das grosse Tile dem falschen Feld zugewiesen hast bzw. nen falschen Sorting Point nutzt ... Deswegen wird der Boden der unteren Felder drüber gemalt.

Mit mehreren Ebenen (-> mapeditor.de.vu sehr empfehlenswert!) lässt sich sowas einfach lösen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

D2006

Administrator

BeitragDi, Nov 06, 2007 17:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Male Gebäude erst, wenn du beim durchgehen aller Felder bei dem untersten Feld des Gebäudes bist. Das ist noch mit das einfachste "Z-Order" Problem bei ISO Wink
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2
 

HyDr0x

BeitragDi, Nov 06, 2007 17:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst aber auch einfach den Bezugspunkt des Gebäudes mit HandleImage von oben Links nach unten rechts verschieben, dann müsste es auch gehen.

KddC

BeitragDi, Nov 06, 2007 17:50
Antworten mit Zitat
Benutzer-Profile anzeigen
das hab ich auch schon versucht aber dann kommt das alles nicht mehr so richtig hin....Sad....welche befehle gibt es denn zum thema z-order?....Ich hab zwar in der OH geguckt aber da hab ich nichts gesehen...
mfg
 

Dreamora

BeitragDi, Nov 06, 2007 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Garkeine

In einem Iso System musst du dich selbst um die Tiefensortierung kümmern.

Die simpelste form ist das was D dir vorgeschlagen hat: Immer unterstes Tile (auf dem Bildschirm) als auslöser dafür nehmen das ganze objekt zu zeichnen. (technisch umgesetzt ist das der andere Hinweis mit dem Handle)

Und ich würds effektiv als Y Sortierung implementieren ... denn solltest du je auf die Idee kommen sich bewegende Objekte zu haben, die nicht nur Tile -> Tile können, dann wirst du es brauchen ^^
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

HyDr0x

BeitragDi, Nov 06, 2007 18:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Versuchs mal mit der Zeile, bei mir funktionierte es dann.

Code: [AUSKLAPPEN]

HandleImage tileC,128,192


EDIT: Ich vergaß:

Code: [AUSKLAPPEN]

If ImagesCollide (MausImg,MouseX(),MouseY(),0,TileA,plotX,plotY,0) And MouseDown(2) Then Map(X,Y)=2


in das hier umwandeln:

Code: [AUSKLAPPEN]

If ImagesCollide (MausImg,MouseX(),MouseY(),0,TileA,plotX-128,plotY-192,0) And MouseDown(2) Then Map(X,Y)=2

KddC

BeitragDi, Nov 06, 2007 18:27
Antworten mit Zitat
Benutzer-Profile anzeigen
nein...dann wird das Genäude an einem ganz anderem Punkt gezeichnet...und es ist dann auch teilweise so das ein punkt vom Gebäude hinter einem anderen ist und der andere davor....ganz seltsam alles:D....
aber trotzdem danke für den tip:(....
 

HyDr0x

BeitragDi, Nov 06, 2007 18:34
Antworten mit Zitat
Benutzer-Profile anzeigen
EDIT: OK jetzt hab ich verstanden was du mit verdeckt meinst Very Happy.
  • Zuletzt bearbeitet von HyDr0x am Di, Nov 06, 2007 18:38, insgesamt einmal bearbeitet

KddC

BeitragDi, Nov 06, 2007 18:36
Antworten mit Zitat
Benutzer-Profile anzeigen
hast du mal das kleine Gebäude davor gesetzt?...bei mir ist dass dann darunter...
 

HyDr0x

BeitragDi, Nov 06, 2007 19:15
Antworten mit Zitat
Benutzer-Profile anzeigen
ich würde sagen es liegt am Format des Gebäudes. Wenn du den y Bezugspunkt z.B. nach unten verschiebst "wächst" das Gebäude sozusagen aus dem Erdboden nach oben, da weniger Felder es Überdecken. Wenn y ca 140 Pixel groß ist also der Übergang von der Gebäudetextur zum "nichts" ist sieht es mit wachsenem y- Wert so aus als würde das Gebäude nach rechts wandern, tatsächlich liegt es eben nur daran das das Gebäude nur bis zu diesem Wert texturiert ist.

Nun zur endgültigen Lösung:

Ändere die größe deines Gebäudes auf 192 und ziehe es auf die Länge und ändere den Code zu folgendem:

Code: [AUSKLAPPEN]

Function funcDrawMap()

HandleImage tileC,32,162


For y = 0 To 40
For x = 0 To 20
plotx = (x * tilewidth + (y And 1) * (tilewidth / 2)) - mapx-30
ploty = (y * (tileheight/2)) - mapy-30

If map(x, y) = 0 Then
DrawImage tileA, plotx, ploty
ElseIf map(x,y)=1 Then
DrawImage tileB, plotx, ploty-55
ElseIf map(x,y)=2 Then
DrawImage tileC,plotx,ploty
End If

If ImagesCollide (MausImg,MouseX(),MouseY(),0,TileA,plotX,plotY,0) And MouseDown(1) Then Map(X,Y)=1
If ImagesCollide (MausImg,MouseX(),MouseY(),0,TileA,plotX,plotY,0) And MouseDown(2) Then Map(X,Y)=2

Next
Next

End Function


Hoffe es funtzt nu Very Happy

Edit:
Man kann natürlich anstatt 162 auch 160 usw für den Y Bezugspunkt auswählen wie man will.

PS: Ich glaube man merkt das ich mich noch nicht sehr viel mit ISO beschäftigt habe, aber ich hab mein bestes versucht ^^ .

KddC

BeitragMi, Nov 07, 2007 18:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Muss dich leider wieder enttäuschen:(...die linke seite steht immer noch über allen anderen tiles...werde es wohl so machen müssen wie D2006 schon sagte...Habe ich das richtig verstanden dass ich statt vom ausgangspunkt oben links alle tiles von unten links/rechts anfangen soll zu zeichnen?
mfg
 

Dreamora

BeitragMi, Nov 07, 2007 18:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Jain
Prinzipiell entscheidet das Tile das am weitesten unten ist nach Y koordinate, wann der gesamte Block gezeichnet wird.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group