Iso Tiles
Übersicht

![]() |
KddCBetreff: Iso Tiles |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() |
||
![]() |
Nescio |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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:
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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. |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() |
||
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
das hab ich auch schon versucht aber dann kommt das alles nicht mehr so richtig hin....![]() mfg |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
EDIT: OK jetzt hab ich verstanden was du mit verdeckt meinst ![]() |
||
- Zuletzt bearbeitet von HyDr0x am Di, Nov 06, 2007 18:38, insgesamt einmal bearbeitet
![]() |
KddC |
![]() Antworten mit Zitat ![]() |
---|---|---|
hast du mal das kleine Gebäude davor gesetzt?...bei mir ist dass dann darunter... | ||
HyDr0x |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group