Ein paar Fragen zu GLBasic und dem Gp2x


Danke erstmal das du dir soviel mühe machst!!!!
Weil ich aber von dem was du oben schreibst höchstens die Hälfte verstehe hab ich ein wenig rumexperementiert. das ist dabei rausgekommen:
SETPIXEL 0,0,RGB(255,0,128)
col=GETPIXEL(0,0)


rr=bAND(col,0xFF0000)
gg=bAND(col,0x00FF00)
bb=bAND(col,0x0000FF)

rr=INTEGER(rr/65536)
gg=INTEGER(gg/256)
bb=INTEGER(bb/1)

PRINT rr+"/"+gg+"/"+bb,100,0

SHOWSCREEN
MOUSEWAIT

Liefert bei mir folgendes:
rr=128
gg=0
bb=255

Das ist im Prinzip GENAU das was ich haben wollte: etwas das mir die einzelnen Farbwerte ausließt. Soll deine Arbeit nicht schlecht machen, aber ich will ja selber nachdenken! und mir nicht etwas aufsetzen lassen und es verwenden ohne es zu verstehen.

Aber eigentlich müsste das Programm, ja folgendes zurückliefern, oder???
rr=255
gg=0
bb=128

siehst du den Fehler???? naja im prinzip ist es egal ich kann die beiden werte ja vertauschen.


gruß


PS. ich hab jetzt übrigens meinen gp2x f100
 
Nicht ganz. Bei Intel ist die Reihenfolge immer 0xAABBGGRR (little endian). Ich hab das in GLBasic so eingabaut, dass es auf jeder Platform so zurückgeliefert wird.
 
Mal eine Frage an die GLBasic-Experten hier:

Man kann mit dem Programm ja so schön quasi einfach per Knopfdruck sein Spiel für verschiedene Systeme kompilieren lassen, u.a. ja auch für den GP2X. Weiss jemand, ob dieses sehr hilfreiche Tool auch mal für den Wiz und die Pandora intigriert wird? Gibts da schon Statements seitens der GLBasic-Entwickler?
 
So, das Problem hat sich gelöst. Ich muss mich entschuldigen, denn das eigentliche Problem wart meine eigene Blödheit. Ich das Bild vom schff nämlich erst mit 80x80 Pixeln gemalt. Und dann dummerweiese mit Paint auf 40x40 Pixel geschnitten. dadurch entstanden die Ränder. Bilder neu gemalt, smoothshading false eingesetzt(um das bisschen Rand das blieb auch wegzubekommen), und alles sieht super aus. heißt jetzt aber nicht das deine Mühe umsonst war, denn die GetColor Funktionen hätte ich sowieso noch für andere sachen gebraucht.

Es hat sich aber ein neues Problem ergeben. Wenn ich mein Programm auf dem GP2x Starte scheint es alle Bilder ZWEIMAL zu malen. Einmal, da wo ich sie haben will, und einmal 320 Pixel witer links. Das macht sich besonders dann schlecht, wenn man nach rechts schießt. dann kommen plötzlich von rechts laser aus dem nicht angeflogen. liegt das an meiner Demoversion???? auf dem pc funktionierts nämlich einwandfrei.

Ich werde nachher bilder und sourcecode hochladen. Hoffentlich hab ich dich nicht vergräult.


sorry und gruß
 
GLBasic kann WIZ compilieren. Pandora, wenn ich eine in den Fingern habe.
Wenn's am PC anders ist als bei GP2X, scheint etwas nicht i.O. zu sein.
 
Wenn's am PC anders ist als bei GP2X, scheint etwas nicht i.O. zu sein

Entschuldige meinen Sarkasmus, aber hey, dass hab ich auch schon bemerkt.

woran könnte es denn liegen??

brauchste den sourcecode???
 
Hast du im Menü Projekt->Optionen unter GP2X die Auflösung auf 320x240 eingestellt?

War sie, aber nachdem ich da comilieren für gp2x eingestellt hab funktioniert es.....

Ok, in zukunft lass ich erstmal 24h stunden verstreichen bevor ich hier ein problem poste.....

thank you


gruß
 
Gibt`s schon was neues zum testen? :)

im moment noch nicht, vieleicht heut abend, muss noch auspuffgase einbauen :)



Aber es gibt "mal wieder" ein kleines problem. ich häng im anhang mal zwei bilder an, das eine vom gp2x(EDIT bildermachen vom gp2x funktioniert nicht. ich häng eins vom pc an, das genauso aussieht) das andere vom pc. exakt der gleiche quellcode. generiert wird das warten bis zum nächsten laserabschuss so:
//Tastenabfrage Start

IF KEY(29) OR KEY(57) AND ladezeit >30

IF laserthere < 99
x=0
WHILE x<2

IF playershipShootEnergie>LaserEnergieCost[laser1cost]
playerlaserX[laserthere]=Playerposx+(COS(playerrotation-kanzel*(ATAN(8,17))))*(8/SIN(ATAN(8,17)))
playerlaserY[laserthere]=Playerposy-(SIN(playerrotation-kanzel*(ATAN(8,17))))*(8/SIN(ATAN(8,17)))
playerlaserR[laserthere]=playerrotation
playerlaserSP[laserthere]=1+playertempo
playerlaserH[laserthere]=8
playerlaserW[laserthere]=8
playerlaserLZ[laserthere]=3*60
playerlaserVZ[laserthere]=0
laserthere=laserthere+1
ladezeit=0
kanzel=-kanzel
playershipShootEnergie=playershipShootEnergie-LaserEnergieCost[laser1cost]
ENDIF

x=x+1
WEND
ENDIF
kanzel=-kanzel
ENDIF
ladezeit=ladezeit+60/fps

x=0
y=0
WHILE x < laserthere
playerlaserVZ[x]=playerlaserVZ[x]+1
IF playerlaserVZ[x] > playerlaserLZ[x]
y=x
WHILE y<(laserthere)
playerlaserX[y]=playerlaserX[y+1]
playerlaserY[y]=playerlaserY[y+1]
playerlaserR[y]=playerlaserR[y+1]
playerlaserSP[y]=playerlaserSP[y+1]
playerlaserH[y]=playerlaserH[y+1]
playerlaserW[y]=playerlaserW[y+1]
playerlaserLZ[y]=playerlaserLZ[y+1]
playerlaserVZ[y]=playerlaserVZ[y+1]
y=y+1
WEND
laserthere=laserthere-1
ENDIF
x=x+1
WEND

//Tastenabfrage Ende

please help. diesmal ist alles korrekt eingestellt. Es sieht so aus als würde der gp2x einfach ignorieren, dass ich will, das er 0,5 sekunden wartet.
 

Attachments

  • Pictures.zip
    4.4 KB · Views: 381
  • screengp2x.zip
    2.3 KB · Views: 380
Die beiden Versionen PC und GP2X benutzen (soweit ich weiss) verschiedene Compiler zur Erstellung des Programms.
Eventuell kann es sein, dass geklammert werden muss
Code:
IF KEY(29) OR KEY(57) AND (ladezeit >30.0)
und
Code:
ladezeit=ladezeit+(60.0/fps)
Probiers einfach mal aus.
EDIT: Bitte auch Dezimalpunkt beachten
 
komisch ich hab das schon bei zweien ausporbiert funzt irgendwie nicht.... gebt mir mal nen paar sekunden.

EDIT: so auf wunsch von screeny(den das wahrscheinlich brennend interessiert *ähem*) hier ist ein kleiner downloadlink

EDIT2: achja: space ist laser(zu testzwecken ectra langsam) a schneller y langsamer,beim gp2x andersrum
 
Steinbock said:
Die beiden Versionen PC und GP2X benutzen (soweit ich weiss) verschiedene Compiler zur Erstellung des Programms.
Eventuell kann es sein, dass geklammert werden muss
Code:
IF KEY(29) OR KEY(57) AND (ladezeit >30.0)
und
Code:
ladezeit=ladezeit+(60.0/fps)
Probiers einfach mal aus.
EDIT: Bitte auch Dezimalpunkt beachten

Die AND und OR haben gleiche Priorität, werden also links nach rechts ausgewertet. Was Du willst ist:
Code:
IF ( KEY(29) OR KEY(57) ) AND ladezeit >30.0
 
Hey nicht schlecht ich hoffe du machst weiter :) :wink:

täglich bis 22uhr :D :D :D :D
Von mir auch ein Objekte Update :) http://ul.to/hkwmmf

wo haste die grafiken her, sind die selbstgemacht?wieviel kosten die, ich kauf sie dir ab? die sehen richtig klasse aus!!!!!
 
Wenn du weiter machst, sie die und die Folgenden Gratis sonst 500 Euro :p :p nee aber man bräuchte schon eine Testversion, wo man sein Schiff in einer Raumstation parken kann, oder wo am Asteroiden sieht, sonnst kann ich es nicht testen, ... das war mir leider noch vergönnt :)

aber weiter so!!! :wink:
 
Back
Top