Lieber Besucher, herzlich willkommen bei: RPG Studio - Make your World real. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.
[C#] Tile Position ermitteln
hallöle 
ich steh grad ziemlich aufm Schlauch und komm einfach nimmer drauf...
wie berechnet man anhand einer ID, die X/Y Position eines Tiles, auf einem RmXP Tileset?
X/Y position in tiles...

ich steh grad ziemlich aufm Schlauch und komm einfach nimmer drauf...
wie berechnet man anhand einer ID, die X/Y Position eines Tiles, auf einem RmXP Tileset?
X/Y position in tiles...
There was a Cave,
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.
below a Silent's Grave.
Tunnels, extending far, running wide,
going deep into the World on the other Side.
Poor little Child, that was to brave,
died painfully deep down, in the Devil's Cave.
Gern doch.^^
Ich habe gerade selbst eine TileSet- sowie TileMap-Klasse implementiert, und deshalb noch eine kleine Ergänzung, falls sonst jemand den Thread findet.
In manchen Sprachen (C# wohl nicht, wenn du mit Integern arbeitest) muss der Bruch für die Y-Position abgerundet werden, da sonst die TilePosition nicht mehr stimmt. War bei mir der Fall, weil JavaScript lose typisiert ist.
Meine Tileset wär so aufgebaut:
[00] [01] [02] [03] [04] [05] [06] [07]
[08] [09] [10] [11] [12] [13] [14] [15]
...
Ich habe gerade selbst eine TileSet- sowie TileMap-Klasse implementiert, und deshalb noch eine kleine Ergänzung, falls sonst jemand den Thread findet.
![]() |
Ruby Quellcode |
1 2 3 |
public Vector2 getTilePositionByID(ID){ return new Vector2(ID % tileSet.width, Math.floor(ID / tileSet.width)); } |
In manchen Sprachen (C# wohl nicht, wenn du mit Integern arbeitest) muss der Bruch für die Y-Position abgerundet werden, da sonst die TilePosition nicht mehr stimmt. War bei mir der Fall, weil JavaScript lose typisiert ist.
Meine Tileset wär so aufgebaut:
[00] [01] [02] [03] [04] [05] [06] [07]
[08] [09] [10] [11] [12] [13] [14] [15]
...
.Leo
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ».Leo« (1. November 2012, 11:49)
this bezieht sich auf das aktuelle Objekt, so wie Me (In aller Regel...)

-
Hallo
Tabs klicken unso, ne? -
Lyric
Meine schwarze Liste, beginnt mit einem Satz:
"Wer zuletzt lacht, lacht am besten!", und am Ende ist noch Platz.
Auf der Liste meiner Feinde, ist auch für euch noch Platz
Wer zuletzt lacht, lacht am besten!
Merkt euch diesen Satz!
Ode an die Feindschaft von Saltatio Mortis
-
Outtakes
-
Nummer 3
20.09.2012 - 19:46
"Yah, ich bin ihre Motivazin." "Motivazin - gibts das jetzt in der Apotheke rezeptflichtig?" -
Ich mag Kekse
-
Nummer 2
08.09.2012 - 01:29 Uhr
"Die Erlebnismacher zu Hannovre - Exlibre - ääääh... Excalibur"
*Lachflash* -
Nummer 1
07.09.2012 - 22:58 Uhr
*Bööarps* - Die Erlebnismacher zu Hannovre - Excalibur... "Mahlzeit... also... doch nicht Mahlzeit... war nur die Website"
"Ich hab gerülpst -.-" "Du hast was?" *LACHFLASH*
"Nicht dein Ernst, oder?" "DOCH!" *LACHFLASH second tour*
-
-
Profile
-
Ich
Dass bin ich:
Maker: RPG-XP, RPG-VX
Story:
Für andere mehr als für mich: 60%
Grafik:
Ich werde besser: 35%
Pixeln:
Ich stehe an den Anfängen: 7%
Mapping:
Es fehlen nur noch (alle) Feinheiten: 67%
Scripting:
Informatiker, mittlerweile auch andere Sachen am skripten: 93% -
Neues aus der SB
Neues aus der SB:
(03:41:36) Kagurame: n8 du
(03:41:37) Irrlicht: Nacht Mozilla
(03:41:47) MozillaBabybird: Kagu: der witz war flach
(03:42:01) Kagurame: welcher witz?
(03:42:14) Heatra: geh nicht benji
(03:42:21) Heatra: spiel lieber ats2
(03:42:25) MozillaBabybird: nacht leute ^^ ijemand sollte diesen verlauf im studio bash posten, damit die mal wissen wer die echten camper hier sind
(03:42:35) Kagurame: ich bin scripten
(03:42:3MozillaBabybird: Heat: tut mir sorry xD
(03:42:40) Kagurame: ich mach das...^^
(03:42:4MozillaBabybird: bis .... mittag ?
(03:42:49) Heatra: ^^
(03:42:55) MozillaBabybird: ja mittag dürfte passen
(03:42:56) MozillaBabybird:
(03:42:57) Kagurame: ^^
(03:43:02) Heatra: ich steh morgen eh erst um 5 uhr mittags auf
(03:43:07) Kagurame: bis heute
(03:43:11) Steve: MozillaBabybird verlässt den Chat.
(03:43:15) Kagurame: ich so um 3zum Lesen den Text mit der Maus markieren
(03:05:32) Ankou: bist du dir SICHER, dass es die Performance an der Stelle kritisch ist und c.a. 30% sind KEIN großer Unterschied?
(03:05:41) Ankou: oh
(03:05:45) Ankou: okay
(03:06:21) Asandril: Oh Ha was habt Ihr gerade für ein Thema?
(03:06:41) Ankou: das ist in der Tat eine performancekritische angelegenheit, aber ich denke dennoch nicht, dass das die Dinge sind auf die du dein Hauptaugenmerk richten solltest.
(03:07:01) Heatra: maschine
(03:07:01) Ankou: derartige Mikrooptimierungen werden Performanceprobleme sogut wie niemals beseitigen können
(03:07:01) Irrlicht: anhand der Tatsache dass es 20 000 000 Durchläufe waren nicht wirklich :-/
(03:07:0Ankou: änder was konzeptionelles oder lass es bleiben.
(03:07:31) Ankou: evtl. kannst du mehr der Interpretation nach vorne verlagern
(03:08:06) Ankou: aber solche Dinge zu versuchen wie die case Abfragen durch send zu ersetzen in der Hoffnung ein paar Prozent einzusparen bringens dir nicht
(03:08:26) Asandril: Bin ich gerade hier in einem Kurs gelandet ..
(03:08:36) Irrlicht: hatte mal in Erwägung gezogen die Befehle evtl. schonmal etwas "vorzuinterpretieren", aber das dürfte dann mehr Speicher verbrauchen als es Geschwindigkeit bringt...
(03:09:11) Ankou: Asandril: ja, erstaunlich, angetrunken an Silvester über so etwas zu reden
(03:09:2Heatra: -> lampenfieber
(03:09:40) Asandril: Kann ich nur beipflichten.
(03:09:46) Irrlicht: atm bin ich mir nicht sicher was genau den doch vergleichsweise erheblichen Lag von Parallel-Process-Events verursacht (oder ob es einfach an der gesammten Masse liegt) wenn ich bei 2 000 000 solcher Durchläufe unter einer Sek. bleibe...
(03:09:57) Ankou: Irrlicht: das ist durchaus üblich. Speicher gegen Geschwindigkeit einzustauschen ist sehr populär und bringt oft viel
(03:11:23) Irrlicht: mal schaunzum Lesen den Text mit der Maus markieren
(03:32:35) (Kagurame_AnkündigungImForumMach): es da ne methode wie beim xp?
(03:32:4Irrlicht: Cache.system("Iconset")
bekommst das Iconset
(03:32:50) (Kagurame_AnkündigungImForumMach): brauche es dringend, aber nix gefunden bisher
(03:33:01) (Kagurame_AnkündigungImForumMach): und dann per id?
(03:33:06) (Kagurame_AnkündigungImForumMach): drauf zugreifen?
(03:33:07) Irrlicht: Index berechnet sich einfach aus
x = index % 16
y = index / 16
(03:33:17) Irrlicht: afaik warens 16 nebeneinander^^
(03:33:2(Kagurame_AnkündigungImForumMach): ok, danke.
(03:33:51) (Kagurame_AnkündigungImForumMach): ich glaub ich scripte dann noch ein bissl
(03:34:01) Steve: (Kagurame_AnkündigungImForumMach) heißt jetzt Kagurame.
(03:34:04) Irrlicht: im XP hast die einzelnen Icons anhand des Namens aus dem Icon-Ordner aufgerufen
(03:34:09) Steve: Kagurame ist nun Scripten!
(03:34:17) Irrlicht: (geht natürlich im VX auch, aber wozu gibts das Iconset)
(03:34:23) Kagurame: ja ich weis, daher war ich heut mittag verwirrtzum Lesen den Text mit der Maus markieren
Oh, tut mir leid, war noch ein Überbleibsel aus meinem Code. Ja, this bezieht sich auf die aktuelle Klasse (bzw. die Instanz davon), da ich die obige Methode in einer Tilesetklasse mit einem Width-Feld implementiert habe. Ich habs angepasst, sollte jetzt klarer sein.
Wie arbeitet man denn in Unity mit C#? Kann mir kaum vorstellen dass das fehlt.
Wie arbeitet man denn in Unity mit C#? Kann mir kaum vorstellen dass das fehlt.
.Leo
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ».Leo« (2. November 2012, 12:53)

Ähnliche Themen
-
RGSS 1 Probleme & Talk »
-
Durch Ebene 1 und Ebene 2 Laufen... (24. Oktober 2012, 15:37)
-
Einsteigerhilfe »
-
Passierbarkeit der Tilesets - Wie funktioniert das? (11. Juli 2012, 19:55)
-
Maker-Talk »
-
Problem mit Tilesets (22. November 2011, 19:14)
-
Spieleentwicklung »
-
[C /Fantasy2C] Test Tile Editor (16. April 2009, 22:09)
-
Events & Technik »
-
Gegner scchießen (16. August 2005, 20:55)