Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - WPShadow

#76
If you have any ideas or any elements what to add to the idle game, please tell me and I will add it as fast as I can...
#77
Beta Tests / GLBASIC IDLE
2014-Apr-18
Hi,

ok, we lost the whole documentation of the project, but  :enc:

Here is the new idle version with:

- new elements
- other elements
- elements
- things
- and stuff

Have Fun!!!

W.
#78
So, ich habe eine Lösung...

Sie ist nicht schön, aber sie funktioniert:

Code (glbasic) Select

DRAWLINE 150, 50, 400, 300, RGB(255, 0, 0)
DRAWLINE 100, 250, 500, 50, RGB(0, 255, 0)

SETPIXEL 266, 166, RGB(255, 255, 255)

calculate_intercept(150, 50, 400, 300, 100, 250, 500, 50)



SHOWSCREEN
KEYWAIT
END



FUNCTION calculate_intercept: x_1_start, y_1_start, x_1_end, y_1_end, x_2_start, y_2_start, x_2_end, y_2_end
LOCAL numerator, denominator, u
LOCAL hit, intercept_x, intercept_y

numerator =   ((x_2_end - x_2_start) * (y_1_start - y_2_start)) - ((y_2_end - y_2_start) * (x_1_start - x_2_start))
denominator = ((y_2_end - y_2_start) * (x_1_end - x_1_start)) - ((x_2_end - x_2_start) * (y_1_end - y_1_start))

u = numerator / denominator

IF numerator = 0 AND denominator = 0
hit = FALSE
ENDIF

IF denominator = 0
hit = FALSE
ENDIF

IF u > 0
hit = TRUE
intercept_x = x_1_start + u * (x_1_end - x_1_start)
intercept_y = y_1_start + u * (y_1_end - y_1_start)
ENDIF


DEBUG intercept_x + "  " + intercept_y

ENDFUNCTION


Ich habe in der Funktion keinen Rückgabewert eingebaut, da ich das Ganze sowieso an Types übergebe. Aber die Werte werden korrekt berechnet!  :good:

@Schranz0r: du kannst im Fall der Fälle nach Math verschieben, wenn du willst
#79
Hi,

ich scheitere mal wieder an Mahte  :rant:

Kann mir irgendwer sagen, wie ich den Schnittpunkt von 2 Linien berechne? Ich grabe mich durch sämtliche Tutorials, aber ich komme nicht drauf.

Von beiden Linien habe ich Start und Endpunkt...  :S

LG

W.
#80
Klasse, hat funktioniert. Danke für den Tip.  :D :booze:
#81
Es sind 32bit Png - Files.

Heißt das, dass bei ALPHAMODE .99 den Alphakanal manuell setzen kann und dieser mit ausgegeben wird? Das würde die Arbeit ziemlich erleichtern...   =D

Ich hänge mal ein Beispiel - png an, sobald ich daheim bin!
#82
Hi,

wenn ich Grafiken als *.png erstelle, dann wird der Alpha - Kanal nicht beachtet, wenn ich die png ausgeben will, oder?

Den muss ich in dem Fall manuell (mit ALPHAMODE) setzen, oder?

LG

W.
#83
Aktuell finde ich es schade, dass hier so wenig los ist, da ich auch ein kleines (aber relativ komplexes) Projekt in GLBasic entwickle. Das jedoch leider nur in 2D.

Problem an 3D finde ich, ist, dass zwar die Basis da ist, sich leider das Ganze nicht weiter entwickelt und kleinere evtl. vorhandene Bugs zu lange bestehen bleiben... Dort liegt aber aktuell auch nicht die Priorität der Entwicklung von GLBasic. Also finde ich es zumindest schön, dass es 3D soweit beherrscht!  =D
#84
Critical hit on Minecraft  :D

Looks great!!!
#85
So, es steht wieder eine Frage an und da ich nicht jedes Mal eine neue Anfrage stellen möchte, frage ich hier einfach weiter:

Ein Schleifendurchlauf dauert seine Zeit. Wenn wir annehmen, dass ich alle Daten in ein Array tue und dieses mit einer FOREACH - Schleife durchlaufen lasse und nur die Sprite - Bereiche zeichne, die gezeichnet werden sollen (Bildausschnitt) und die restliche Schleife immer wieder durch läuft --> ist das auf Dauer verkraftbar, wenn die Anwendung in Echtzeit läuft?

Ist es vor allem verkraftbar, wenn man 3 - 4 Layer übereinander Laufen hat oder ist es besser das Ganze einfach mit FOR grenze_1 TO grenze_2 zu lösen?

LG

W.
#86
Jup, du hattest recht. Aber in der anderen Funktion. Also buffere ich zwischen. Thx!  :booze:

Code (glbasic) Select

FUNCTION sys_loader:
LOCAL ok, tmp, tmp$, lang, file$
LOCAL files$[]

ok = DOESFILEEXIST("media/gfx/gfx.ini")

IF ok = TRUE

INIOPEN "media/gfx/gfx.ini"

lang = INIGET$("file", "count")

DIM files$[lang]


FOR tmp = 1 TO lang
tmp$ = tmp

file$ = "file_" + tmp$

files$[tmp - 1] = INIGET$("file", file$)

NEXT

INIOPEN ""

FOR tmp = 1 TO lang

sys_loader_ini(files$[tmp - 1])

NEXT

ELSE

sys_logging("1 Datei " + file$ + " wurde nicht gefunden.")

ENDIF


ENDFUNCTION
#87
Hi,

mein Hirn setzt langsam aus, also brauche ich mal eure Hilfe.

Ich versuche verzweifelt eine *ini zu laden. Diese habe ich angehängt (gfx.ini)

Die dazugehörige Funktion ist:

Code (glbasic) Select

FUNCTION sys_loader:
LOCAL ok, tmp, tmp$, lang, file$, file_load$

ok = DOESFILEEXIST("media/gfx/gfx.ini")

IF ok = TRUE

INIOPEN "media/gfx/gfx.ini"

lang = INIGET$("file", "count")


FOR tmp = 1 TO lang
tmp$ = tmp

file$ = "file_" + tmp$

file_load$ = INIGET$("file", file$)

sys_loader_ini(file_load$)

NEXT

INIOPEN ""

ELSE

sys_logging("1 Datei " + file$ + " wurde nicht gefunden.")

ENDIF


ENDFUNCTION


Grundlegend funktioniert das sys_logging korrekt und liefert mir auch zurück, dass die Datei vorhanden ist.

Im Ablauf soll sie nun geöffnet werden, count auslesen (funzt) und in die Schleife springen (funzt).

Sobald ich in der Schleife bin, funktioniert der 1. Aufruf vollkommen korrekt, d.h. die aufgerufenen Daten werden wie folgt aufgerufen:

file_1 media/gfx/stars.ini
file_2 NO_DATA

Aus irgendeinem Grund gibt file_2 keinen Inhalt zurück, egal was ich hier eingebe.

Ansich sollte der Code passen, da ich mehrere Files so einlese. Habt Ihr eine Idee?

LG

W.
#88
Nun, die Umsetzung mit Polyvector erscheint mir am sinnvollsten im Augenblick.

Das Belichtungssystem wird eher spannend, da ich das ebenfalls mit Polyvektor und Alpha lösen möchte. Mal sehen, was ich da alles basteln muss, damit es flüssig läuft.
#89
Hi,

hat jemand von euch Erfahrung mit vielen 2D Tiles die gleichzeitig am Bildschirm sind?

Ab wann sollte man sich ca. Sorgen machen? Ich arbeite an einem kleinen 2D Spielchen mit Zoomstufe und habe etwas experimentiert und herum gerechnet und auf höchster Zoomstufe kratze ich gut und gerne an ca. 50k Tiles, wenn alle Layer gesetzt sind (was aber nur ein theoretischer Wert ist, da unsichtbare Elemente ja nicht gezeichnet werden).

Ich zeichne übrigens nur den Fensterausschnitt und nicht das vollständige Gebiet, daher kommt die hohe Anzahl also nicht.  =D

Kann das soweit zu Problemen führen oder brauche ich mir da keine Sorgen machen?

LG

W.
#90
Meine Meinung: OpenGL mit Linux

Linux war, ist und bleibt eine freie Plattform und beschränkt sich nicht immer weiter selbst, so wie es Microsoft mit Windows momentan macht. Windows wird über kurz oder lang eine in sich geschlossene Plattform werden, die sie nur selbst kontrollieren und auf der man Software nur mehr über den Shop zugänglich machen kann.

Unix alias MacOS verhält sich heute schon so und wird über kurz oder lang genauso dort enden.

Alternative Software - Distributionen werden dadurch interessant wie z.B. Steam

Aber für uns Hobbyentwickler bleibt wohl nur Linux, wenn dieser Kurs bestehen bleibt