Probleme beim Editor coden -_-
Übersicht

.:_]TRaShBetreff: Probleme beim Editor coden -_- |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi.
Ich wollt grad einen Editor coden, wobei die Levels, die mit diesem Editor erstellt werden, nur aus simplen Linien (also nur mit dem Befehl Line) bestehen, bis ich feststellte, das dieses weit über mein schmales Denkvermögen hinausgeht. Ich will also einfach nur einen Editor, der simples Platzieren von mehreren (!) Linien ermöglicht. Für jede Lösung ohne Types werde ich euch an der Körperstelle eures Wunsches lecken ![]() BITTE HELFT MIR. |
||
[20:17] IMurDOOM: hm irgendwie is die mitte des viehs kaputt
[20:17] TRaSh: ein bisschen [20:18] DarkAngel: es tut mir irgend wie leid |
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
dann benutz DIM oder Bank...
wozu soll so ein Editor gut sein? Line hat Nachteile: 1) du kannst nicht zu lange Linien zeichnen - glaube bis 65535, dann gibt es "overflow" 2) Linie ist Langsam |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
.:_]TRaSh |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Der Editor braucht kein flowing oder so, es ist ein Standlevel ohne scrolling.
Ist Line langsamer als ein 800x600-bmp, das ständig auf pixelgenaue Kollision abgefragt wird? ![]() Ich habs schon mit Dim versucht, mit 2-Dimensionalen Feldern, aber irgendwie bekomm ich's nicht gebacken, obwohl ich schon "richtige" Tile-Editoren geschrieben hab.. |
||
[20:17] IMurDOOM: hm irgendwie is die mitte des viehs kaputt
[20:17] TRaSh: ein bisschen [20:18] DarkAngel: es tut mir irgend wie leid |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
PSEUDO:
Code: [AUSKLAPPEN] dim Karte(linienzahl,3) karte (linie,0)=startx karte (linie,1)=starty karte (linie,2)=zielx karte (linie,3)=ziely for linie = 0 to linienzahl line karte (linie,0),karte (linie,1),karte (linie,2),karte (linie,3) next oder meintest du was anderes ? Einfach die Mausposition zu Start und ende ins passende Feld übergeben, fertig. |
||
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 |
.:_]TRaSh |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
...so mein ich das schon, aber woher weiß ich/das Programm welcher Startpunkt zu welchem Endpunkt gehört? | ||
[20:17] IMurDOOM: hm irgendwie is die mitte des viehs kaputt
[20:17] TRaSh: ein bisschen [20:18] DarkAngel: es tut mir irgend wie leid |
![]() |
DCSieger des B2D Retro Wettbewerb / Aug 04 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab mal schnell was mit Arrays gecodet. So in etwa?
Code: [AUSKLAPPEN] Graphics 640,480
SetBuffer BackBuffer() Global mx,my ;Mouse Global slsx,slsy ;Set Line Start Global linemode ;Startpunkt (0) oder Endpunkt (1) Global current ;Current Line Const maxcount=100 ;Maximale Linien Anzahl Dim lsx(maxcount) ;Line Start X Dim lsy(maxcount) ;Line Start Y Dim lex(maxcount) ;Line End X Dim ley(maxcount) ;Line End Y ;Lines "löschen" (-1 = gelöscht) For i=0 To maxcount lsx(i)=-1 lex(i)=-1 Next ;Hauptschleife While Not KeyHit(1) Cls ;Mouse Cachen mx=MouseX() my=MouseY() ;Setzen If MouseHit(1) Then If Not linemode If current>maxcount Then RuntimeError("Linien Limit erreicht") linemode=1 lsx(current)=mx lsy(current)=my Else lex(current)=mx ley(current)=my linemode=0 current=current+1 EndIf EndIf ;Zeichen For i=0 To maxcount If lsx(i)>-1 Then ;Fertige Linie? If lex(i)>-1 Then Line lsx(i),lsy(i),lex(i),ley(i) ;Aktuelle Linie die gesetzt werden soll Else Line lsx(i),lsy(i),mx,my EndIf EndIf Next Flip Wend Man sollte aber die fertigen Linien in einen Imagebuffer zeichnen. Viel schneller einfach ein Bild zu zeichnen als X Linien |
||
Core i5 4670K | 4 x 3,40 GHZ | 16 GB Ram | GeForce GTX 960 | HTC Vive | Win 10 Pro
www.UnrealSoftware.de | www.StrandedOnline.de | www.CS2D.com | www.CarnageContest.com | www.Stranded3.com |
.:_]TRaSh |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Heyho DC, danke, genau das suchte ich!! ![]() Wenn ich irgendwas nicht rall' meld ich mich. [edit] ::meld:: Kannst du mir mal bitte die Schleife "If MouseHit(1)" erklären? |
||
[20:17] IMurDOOM: hm irgendwie is die mitte des viehs kaputt
[20:17] TRaSh: ein bisschen [20:18] DarkAngel: es tut mir irgend wie leid |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] If MouseHit(1) Then ;wenn linke Maustaste Gedrückt dann: If Not linemode ;falls noch nicht mit einer Linie Begonnen If current>maxcount Then RuntimeError("Linien Limit erreicht"); ...und noch linien frei sind ... linemode=1 ;dann beginnen wir eine Linie lsx(current)=mx ;und übergeben x und y werte der Maus ans Array lsy(current)=my Else ;andernfalls (also es ist schon eine Linie Begonnen) lex(current)=mx ;übergeben wir x u. y der Maus als Endpunkte der Linie ley(current)=my linemode=0 ; sagen dass die Linie Fertig ist current=current+1 ; und erhöhen die Anzahl der Gesetzten Linien um 1 EndIf EndIf |
||
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 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group