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

Topics - Schranz0r

#181
Code (glbasic) Select
SYSTEMPOINTER TRUE
SETSCREEN 800,600,0

TYPE particle
x
y
winkel
drehung
speed
alter
ENDTYPE

LOCAL p AS particle
LOCAL particles[] AS particle

wind = 0 // Wind erstellen

WHILE TRUE

LOCAL mx,my,b1,b2
MOUSESTATE mx,my,b1,b2

IF MOUSEAXIS(2) THEN wind = wind + MOUSEAXIS(2)

IF wind > 10 THEN wind = 0
IF wind < 0 THEN wind = 10


IF b1 = TRUE
p.x = mx
p.y = my
p.winkel= RND(359) // 360° möglich !!
p.speed = R2(1,3)
p.alter = 1
IF KEY(2) THEN p.drehung = 1
IF KEY(3) THEN p.drehung = 2
IF KEY(4) THEN p.drehung = 3
IF KEY(5) THEN p.drehung = 4
IF KEY(11) THEN p.drehung = 0

DIMPUSH particles[],p

ENDIF

FOREACH c IN particles[]
INC c.x, (COS(c.winkel)*c.speed)+wind
DEC c.y, SIN(c.winkel)*c.speed
DEC c.alter,0.005




INC c.winkel, c.drehung
IF c.winkel > 359 THEN c.winkel = 0

ALPHAMODE c.alter
FILLRECT c.x, c.y, c.x+3, c.y+3, RGB(255, 0+c.x/4, 0+c.x/4)
IF c.alter < 0 THEN DELETE c
ALPHAMODE 0

PRINT "Drehung: "+c.drehung,10,30

NEXT

PRINT "Particles: "+BOUNDS(particles[],0),10,10
PRINT "Wind: "+wind,10,20

SHOWSCREEN
WEND
END


FUNCTION R2: mini, maxi
    RETURN RND(maxi-mini)+mini
ENDFUNCTION
Schaut euch das mal an, ist jetzt nicht kommentiert, aber wenn fragen bestehen dan fragt nur!

Steuerung:

Linke Maustaste : Particle erzeugen
Mausrad: Windstärke von 1-10 setzen (Wind kommt von links!!)          
Tasten 1-4 : Drehung der Particle erhöhen oder verringern
Taste 0 : Drehung aus!

Bekomm aber Types nicht in eine Function, schade eigentlich, sonnst hätte man das gut öfter mal nutzen können....
Gernot, hast du ne Idee wie man sowas in ne Function stecken kann, also types declarieren, und im Hauptcode über ne function aufrufen?
#182
kann man 2d Sprites auch komplett ausblenden mit alpha ?
(oder irgendwie anders)

wär schick für ein Antrieb von nen Raumschiff, bei einen Spaceshoter ... :D
#183
Hi Leute


Wer hätte den lust mit mir einige Projecte in angriff zu nehmen....

Geplannt ist :

Jump'n Run (Mario like)
Spaceshoter


Bitte hier melden!

Edit:

Hast recht ^^

Shoot`em up
#184
Hi Gernot, was ist denn der Port für z.B ein Internetgame?
Konnte niergends was finden -.-
#185
Hi Gernot,

sag mal ist es möglich, Games übers Internet zu daddeln?
Netwerk geht ja, aber Internet habe ich noch net hin bekommen!

Grüße
#186



Download:

http://www.styleattax.de/game/?download=Particles.rar


Naja ich find...... naja ;)

ein Befehl RND(-50,50) wär nett für sowas
#187
Code (glbasic) Select
SYSTEMPOINTER TRUE
SETSCREEN 640,480,1

TYPE star
x
y
ENDTYPE

LOCAL S AS star

LOCAL stars[] AS  star

WHILE TRUE

starX = RND(640)

S.x = starX
S.y = -10

DIMPUSH stars[], S


FOREACH check IN stars[]
INC  check.y,RND(3)
SETPIXEL check.x, check.y, RGB(RND(255),RND(255),RND(255))
       IF check.y > 480 THEN DELETE check
NEXT


SHOWSCREEN
WEND
END
wers brauch ;)
#188
Code (glbasic) Select
SYSTEMPOINTER TRUE
SETSCREEN 640,480,1

TYPE star
x
y
ENDTYPE

LOCAL S AS star

LOCAL stars[] AS  star

WHILE TRUE

starX = RND(640)

S.x = starX
S.y = -10

DIMPUSH stars[], S


FOREACH check IN stars[]
INC  check.y,RND(3)
SETPIXEL check.x, check.y, RGB(RND(255),RND(255),RND(255))
         IF check.y > 480 THEN DELETE check
NEXT


SHOWSCREEN
WEND
END
#189
Code (glbasic) Select
// --------------------------------- //
// Project: Ballergame demo(new Types)
// Start: Thursday, April 05, 2007
// IDE Version: 4.148

SYSTEMPOINTER TRUE

//--------Type erstellen
TYPE shot
x
y
ENDTYPE
//----------------------

//---Neuen Schuss für erstellen für die spätere nutzung
LOCAL newshot AS shot

//---Das "Schuss-Array" erstellen, wo die schüsse gespeichert werden
LOCAL shots[] AS shot

WHILE TRUE

LOCAL mx,my,b1,b2

MOUSESTATE mx,my,b1,b2

//wenn Maustaste links gedrückt und Timer kleiner Gettimerall ist
IF b1 = 1  AND timer < GETTIMERALL()            
newshot.x = mx   //--|
newshot.y = my     //-----Schüsse

DIMPUSH shots[], newshot // Werte der Positionen übergeben
timer = GETTIMERALL()+300 //Timer höher setzen und verzögerung einfügen!
ENDIF

FOREACH Check IN shots[] // eine Variable durchdüsen lassen (aktualisieren)
DEC Check.y,2                       //schuss um 2 nach oben versetzen
IF Check.y < 0 THEN DELETE Check  //wenn schuss y < 0 dann löschen  

PRINT "|",Check.x,Check.y      //schuss zeichen  ;)
NEXT

//Gibt die anzahl der Einträge in shots[] wieder
PRINT "Shots: "+BOUNDS(shots[], 0), 0,0

FPS(TRUE) //Show Timer + FPS

SHOWSCREEN
WEND
END




FUNCTION FPS: ShowFps
    TimeK=GETTIMER(); Time=Time+TimeK; frames=frames+1;
    IF Time>999; FR=frames; frames=0; Time=TimeK-1000; Seconds=Seconds+1;
        IF Seconds>59; Minutes=Minutes+1; Seconds=0; ENDIF;
        IF Minutes>59; Hours=Hours+1; Minutes=0; ENDIF;
        IF Hours>23; Days=Days+1; Hours=0; ENDIF;
    ENDIF;
    IF ShowFps=TRUE
        Line=20
        PRINT "Time: "+Days+ ":" + Hours + ":" + Minutes + ":" + Seconds,10,Line*1
        PRINT "FPS="+FR,10,Line*2
    ENDIF
                     RETURN FR
ENDFUNCTION
Testen und staunen!
#190
Hi my english speaking friends,

I've made a simpel Isomap.
I hope anyone need this, or was looking for.
Screenshot:



Tile "ground.png": (save as PNG):



Code (glbasic) Select
// --------------------------------- //
// Project: Iso
// Start: Thursday, April 05, 2007
// IDE Version: 4.142


LOADSPRITE "ground.png",1 // Load Isosprite

DIM tile[20][20] // Set Array

WHILE TRUE

//-----Set Locals----------
w=72     // Tile width
h=36     // Tile hight
w2=w/2   // Half Tile width
h2=h/2   // Half Tile hight
//-------------------------

FOR x = 0 TO 19
FOR y = 0 TO 19

xpos = w2*(x-y)-w2  // calculate xpos
ypos = h2*(x+y)     // calculate ypos

DRAWSPRITE 1,xpos-ScrollX,ypos-ScrollY    // Draw sprite

NEXT
NEXT

//--------Scroll-----------------------

IF KEY(200) THEN ScrollY = ScrollY -3
IF KEY(208) THEN ScrollY = ScrollY +3
IF KEY(203) THEN ScrollX = ScrollX -3
IF KEY(205) THEN ScrollX = ScrollX +3

//---------------------------------------

SHOWSCREEN
WEND
END


Download : Click me

[attachment deleted by admin]
#191
Hi leute

Wer eine Isomap braucht, den kann ich hier abhilfe schaffen !
Screenshot:


Hier noch die PNG zum Download: http://www.styleattax.de/boden.png

oder so (save as PNG):




Code (glbasic) Select
// --------------------------------- //
// Project: isogame
// Start: Thursday, April 05, 2007
// IDE Version: 4.142

LOADSPRITE "boden.png",1  // Load Isosprite

DIM tile[20][20] // Set Array

WHILE TRUE

//-----Set Locals----------
w=72     // Tile width
h=36     // Tile hight
w2=w/2   // Half Tile width
h2=h/2   // Half Tile hight
//-------------------------

FOR x = 0 TO 19
FOR y = 0 TO 19

xpos = w2*(x-y)-w2  // calculate xpos
ypos = h2*(x+y)     // calculate ypos

SPRITE 1,xpos-ScrollX,ypos-ScrollY    // Draw sprite

NEXT
NEXT

//--------Scroll-----------------------

IF KEY(200) THEN ScrollY = ScrollY -3
IF KEY(208) THEN ScrollY = ScrollY +3
IF KEY(203) THEN ScrollX = ScrollX -3
IF KEY(205) THEN ScrollX = ScrollX +3

//---------------------------------------

SHOWSCREEN
WEND
END
UPDATE:

Häuser mit RND auf die map zeichen.

Hier der Download: http://www.styleattax.de/Isogame.rar

Hier der Screen :


Der Screenshot ist nicht schön, aber dafür selten ;)
#192
Tja, was soll ich sagen......


BIN IM CHAT !

:D
#193
Wie die Überschrift schon sagt, hast glaub vergessen das Update rauf zu schieben !

CU
#194
Hi Leute , hab mal einen kleinen Crillion-Clon gemacht, und will den euch mal zeigen,
bzw. euch zur verfügung stellen!!!

Wär eine Super sache , wenn der ein oder andere daraus was machen würde.
Man könnte ja ne art Contest draus machen , wer den schicksten Crillion-Clon macht.


Hier mal ein Screen:



Es ist auch ein sehr einfacher Leveleditor dabei, und mit "sehr einfach" mein ich das auch so ^^

http://www.styleattax.de/game/?download=CrillionGL.rar
#195
Hi Leute

Ich dachte mir, damit wir nicht das ganze Forum zuspamen , mache ich mal einen Thread, wo man reinschreiben kann, was man für Sinnvoll in GLBasic halten würde!



Mein Anfang:

MASKIMAGE r,g,b

Die  Transparents selber setzen, weil man hat doch mal Tilesets, wo nicht mit 255,0,128 im hintergrund sind !

Wäre eine super sinnvolle Sache meiner Meinung nach!

EDIT:

Types per:

Code (glbasic) Select
TYPE Schuss
   SX
   SY
   SPR_NUM
ENDTYPE

S = NEW Schuss

FOR S.Schuss = EACH Schuss
  S.SX= .....irgendwas
  ............(usw)
next

Weil man die noch nicht für Schüsse nutzen kann ! (Denk ich mal so ^^ )
Habs versucht, aber nicht hin bekommen!

grüße Schranz0r
#196
Hi Leute ,


Mir war die Tage mal langweilig dann hab ich mal das gemacht:

//www.StyleAttax.de/Jumpkid.rar


Hinweise:

° Solange "Space" gedrückt ist geht der Sprung , bis max. Sprunghöhe erreicht

° Wenn der Spieler in der Luft ist, kann nicht gesprungen werden.( wenn man z.B irgendwo runterfällt)

° Collision in alle 4 Richtungen

° Collision( Player & Boden)  ist mit einer Tilemap !!

° Spieler ist Animiert ! (Walk und Jump , in 2 Richtungen)

° Grafiken des Spieler schnell selber zusammen geschustert ^^

Grüße Schranz0r
#197
Hi,
ich haben bei einer Collision einen Sound mit drine, und....., ach was laber ich Code, Hilft mehr ;)

Function der Collision
 
Code (glbasic) Select
FUNCTION Collblock: spr, color
Coll = 0
IF SPRCOLL(spr,x*TS,y*TS,1001,PX,PY+10) // Unten
dir = 0
IF BallColor = color AND Coll = 0
Level[x][y] = 0
Bouncesound()
SELECT color
CASE 0
Green = Green - 1
CASE 1
Blue = Blue - 1
CASE 2
Red = Red - 1
ENDSELECT
Coll = 1
ENDIF
ENDIF

IF SPRCOLL(spr,x*TS,y*TS,1000,PX,PY-2) // Oben
dir = 1
IF BallColor = color AND Coll = 0
Level[x][y] = 0
Bouncesound()
SELECT color
CASE 0
Green = Green - 1
CASE 1
Blue = Blue - 1
CASE 2
Red = Red - 1
ENDSELECT
Coll = 1
ENDIF

ENDIF

IF SPRCOLL(spr,x*TS,y*TS,1002,PX-2,PY)
PX = PX + 10 // Links
IF BallColor = color AND Coll = 0
Level[x][y] = 0
Bouncesound()
SELECT color
CASE 0
Green = Green - 1
CASE 1
Blue = Blue - 1
CASE 2
Red = Red - 1
ENDSELECT
Coll = 1
ENDIF

ENDIF
IF SPRCOLL(spr,x*TS,y*TS,1003,PX+10,PY)
PX = PX - 10 // Rechts
IF BallColor = color AND Coll = 0
Level[x][y] = 0
Bouncesound()
SELECT color
CASE 0
Green = Green - 1
CASE 1
Blue = Blue - 1
CASE 2
Red = Red - 1
ENDSELECT
Coll = 1
ENDIF
ENDIF

ENDFUNCTION
Function der Soundausagbe:
(Hab ich gemacht weil ich dachte, es liegt daran das der Sound sich evtl automatisch wieder auf Lautstärke 1 setzt )

Code (glbasic) Select
FUNCTION Bouncesound:
       PLAYSOUND(3,0,0.8)
ENDFUNCTION
An machen stellen Bounced der Ball schnell hin und her, da wird er dann lauter !
Vielleicht ein Bug?

Grüße
#198
Hi Leute

Hab mir mal gedanken gemacht was man den so noch schönes in GLBasic einbauen könnte.
(was einen das Leben etwas leichter machen könnte!)
Wie wäre es mit einer Integration eines Code-Archiv?

Habe es mir so vorgestellt:

Bei Werkzeuge könnte man es mit einfügen.
Man kann dann ein Codeschnippsel erstellen, mit kleiner beschreibung dazu, also z.B Funktionen die man immer wieder braucht.
Wenn man nun den Codeschnippsel doppelklickt, fügt der sich an der stelle vom Courser ein.
die andere alternative wäre noch, dass es im Folder des Aktuell geöffneten Projekts eine neue Datei erstellt, und dass es an der stelle des Coursers dann ein Include Past.

was haltet ihr so von der Idee?
#199
Hi Leute

Ich hab einen Editor gemacht, und mit diesen dann eine Map gebastelt.

die Map hat 3 Layer und ist wie folgt gezeichnet:
(Map ist 100x100 Tiles groß, ein Tile ist 32x32, Auflösung 800x600)

Code (glbasic) Select
FakeX = ScrollX / TS
FakeY = ScrollY / TS

FOR X = FakeX TO FakeX + (GraphX / TS)-1
FOR Y = FakeY TO  FakeY + (GraphY / TS)
FOR Z = 0 TO 2

SPRITE Level[X][Y][Z], X*TS-ScrollX, Y*TS-ScrollY

        NEXT
    NEXT
NEXT
Im Spiel soll sich der Player im " Level[X][Y][1] " (Layer 2) bewegen können.

Zur erklärung:

Level[X][Y][0] = Boden
Level[X][Y][1] = Collision
Level[X][Y][2] = Über den Spieler

Wie stell ich das am geschicktesten an den Player im Layer 2 zum positionieren?
Weil jedes Layer einzeln zeichen lassen zieht ja mächtig an den resourcen, das würde  gehn.... aber dann hab ich  FPS < 50 !

Grüße
#200
Hi Leute


Ich schuster mir grade einen mit der Demo ab XD....
Finde GLBasic richtig klasse, da es in den meisten Hinsichten recht einfach zu Handhaben ist.
Dafür ein DICKES LOB an den/die Entwickler.

Was mir aber aufgefallen ist, und was ich bei z.B. BlitzBasic habe , ist die Function Keyhit(key#).
Ich denke das es sinnvoll wäre, einen einfachen Tastendruck mit Keyhit() ab zu fragen.

Man kann es natürlich auch Programmiertechnisch lösen um einen einfachen Tastendruck zu ermitteln, aber schöner und übersichtlicher finde ich Keyhit(), und nebenbei spart man sich noch einiges an Tiparbeit. ;)

Zur Erklärung falls es einer nicht versteht was ich meine:

Wenn ich einen toggleknopf machen will, und ich damit ON - OFF mache, und ich nun diesen knopf(Taste) kurz gedrücke Spring er mir immer zwischen ON und OFF hin und her.
Dazu kommt noch wenn man jetzt anmachen will, das es ein zufall ist , wenn man auch auf ON kommt.

Deshalb hab ich hier so meine lösung gefunden:

Code (glbasic) Select
WHILE KEY(1) = 0
IF KEY(49)=0 THEN Press = 0

IF KEY(49) = TRUE AND Press = 0
Net = Net + 1
Press = 1
ENDIF

IF Net > 1 then Net = 0
Schöner wäre da :
Code (glbasic) Select
WHILE KEY(1) = 0
IF KEYHIT(49) = TRUE THEN Net = Net + 1
IF Net > 1 then Net = 0
Grüße Schranz0r