Italia
Foro

Anfängerfragen. SpaceShooter

 
- Page 1 -



Matz
Progger
Hi. Erst gesten bin ich auf diese presumibilmente wunderbare Programmiersprache gestossen.

Habe 6Jahre BlitzBasic hinter mir, daher ist mir der Basic Dialekt nicht neu.

Als erstes möchte ich einen kleinen SpaceShooter programmieren.

Und schon bei der ersten Anweisung komme ich nicht weiter.

Wie macht mann ein 1024x768ger Vollbildmodus.
Was wäre besser/schneller Sprites zu benutzen oder ogl Quads mit Textur.

Wie kann mann einen Pixelgenaue Kollision machen.

Und dann vieleicht noch um wieviel ist die Vollversion schneller.
So schnell wie C++? Gibs eigentlich auch per OGL Shader.

Achso ja. Noch was. Wie siehts mit Online aus. Also UDP oder TCP
 
23.08.2008  
 



 
- Page 1 -



Matz
Progger
@Jörg Sellmeyer. Danke per deinen Tipp.
 
23.08.2008  
 



@Hallo Matz
Vielleicht kannst Du den Code brauchen...
KompilierenMarkierenSeparieren
PROC FREE_WINDOW

    PARAMETERS win_breit%,win_hoch%,win_stil%,win_titel$,win_icon$
    Abfangen von zu grossen Eingaben
    Case win_breit% > %MaxX:win_breit% = %MaxX
    Case win_hoch% > %MaxY:win_hoch% = %MaxY
    ----------------------------------------
    1. Parameter - Breite
    2. Parameter - Höhe
    3. Parameter - Stil
    4. Parameter - Überschrift
    5. Parameter - Icon
    ----------------------------------------
    WindowStyle win_stil%
    WINDOW (%MaxX/2 - (win_breit%/2)),(%MaxY/2 - (win_hoch%/2)) - win_breit%,win_hoch%
    Das Fenster wird immer zentriert ausgegeben
    WindowTitle win_titel$
    UseIcon win_icon$

ENDPROC

#########################
FREE_WINDOW 800,600,26,"Zentriertes Hauptfenster","Gesicht"
WAITINPUT
end
 
23.08.2008  
 




Matz
Progger
Dank dir Horst
 
23.08.2008  
 




Frank
Abbing
Matz, 2D-Giochi in XProfan verlangen einiges an Programmkenntnissen, wenn später alles sauber und ruckelfrei laufen soll. Ich habe genau per solche Giochi eine Dll in Assembler geschrieben, die kostenlose ProSpeed.dll. Damit kannst du sehr einfach eine beliebige Anzahl Sprites benutzen - ähnlich wie damals am C64 agieren diese recht unabhängig von deinem Hauptprogramm.
Hier ein Spiel von mir, das mit XProfan7 und der ProSpeed.dll entstanden ist: [...] 
 
23.08.2008  
 




Matz
Progger
Frank. Danke per deinen netten Tipp.

Den SpaceShooter will ich ja machen um ersteinmal die Grundlagen von XProfan zu verstehen. Früher oder später will ich das alles in 3D oGL machen.
 
23.08.2008  
 




Frank
Abbing
Ja, verstehe. So ein Spiel ist immer gut geeignet, eine Programmsprache zu erlernen, allein schon wegen der Grafikausgaben.
 
23.08.2008  
 




Matz
Progger
Ich habe gerade mal einen Test gemacht. In dem Test ging es darum possibile viele Polygone darzustellen. Entweder habe ich was falch gemacht oder XProfan ist mega langsamm.

Bei einem Test von 100x100 Triangles *10 Also 100000 Triangles Läuft mein PC auf 100% Kann das sein? 6GHz. Aber nur ein Kern wird genutzt also 3GHz.
KompilierenMarkierenSeparieren
print %maxx,%Maxy
ShowMax
Declare TriProLayer%

proc DrawGLScene

    declare GesTriangles%
    oGL("Clear")
    oGL("Origin", 0, 0, -15)

    WhileLoop 0,9

        oGL("DrawXPGL", 0,TriProLayer%)
        Add GesTriangles%,TriProLayer%

    EndWhile

    oGL("Show")
    Return GesTriangles%

endproc

Proc CreatePlane

    Parameters PosX%,PosZ%,SegX%,SegZ%
    Declare VPos%,X!,Y!,Z!
    Declare MoveX!
    MoveX!=.1
    Y!=-SegZ%*.05
    X!=-SegX%*.05
    SegX%=SegX%-1
    SegZ%=SegZ%-1

    WhileLoop 0,SegZ%

        WhileLoop 0,SegX%

            Float Vertex#,VPos%+ 0=X!
            Float Vertex#,VPos%+ 8=Y!
            Float Vertex#,VPos%+16=Z!
            Float Vertex#,VPos%+24=X!
            Float Vertex#,VPos%+32=Y!+0.1
            Float Vertex#,VPos%+40=Z!
            Add VPos%,48:X!=X!+MoveX!
            Inc TriProLayer%

        EndWhile

        MoveX!=MoveX!*-1:Y!=Y!+.1

    EndWhile

EndProc

Hauptprogramm
-------------
declare hWnd&, ende%
declare vertex#, color#
Declare Plane&
Declare VMaxSize%
VMaxSize%=180*180*48
Dim Vertex#,VMaxSize%
Dim Color#,20000
CreatePlane(0,0,100,100)
CLS 0
oGL("Init", %hWnd, 0, 0, 0, 1)
Plane&=OGl("CreateXPGL","TS","V",0,Vertex#,Color#,0,0)
oGl("UseXPGL",Plane&)
Declare Text$,Text2$
Declare GesTriangles%

WhileNot %ScanKey=27

    GesTriangles%=DrawGLScene()
    Text$=GesTriangles%
    Text2$=TriProLayer%
    WindowTitle "GesammtTriangles:"+Text$
    +"   Triangles Pro Layer:"+Text2$

le end

Edit: Quellcodes possibile mit dem Code-Tag umschließen (nicht mit quote). Habs mal angepaßt.
Dietmar
 
23.08.2008  
 



Ab damit in un ogl-Liste und die GPU erzeugen lassen...
 
23.08.2008  
 




Matz
Progger
Hammer!! Das mit der Liste ist voll schnell.

@IF Danke.
 
23.08.2008  
 




Matz
Progger
Hi. Ich hab da nochmal eine Frage.

Gibt es eine möglichkeit Vertexpunkte und Triangles sebst zu setzen

Also so ungefär

A_B_C_ D

E_F_G_H

I_J_K_L

Und dann die einzelnen Vertexpunkte mit Triangles zu verbinden.

Also Triangle A,B,C

Triangle E,F,I
usw.

Hab jetzt auch schon versucht Direkt oGl zu benutzen, aber das geht irgendwie auch
nicht.

oGL("Clear")
oGL("Origin", 0, 0, -15)
oGl("glBegin","GL_TRIANGLES")
OGl("glVertex3f",-1,-1,0)
OGl("glVertex3f",1,-1,0)
OGl("glVertex3f",0,1,0)
Ogl("glEnd")

oGL("Show")
 
24.08.2008  
 



 
- Page 2 -


Cerca mal nach Tron und W3D - mindestens bei einem von beiden hatte ich imho die Sources gepostet - und beide nutzen dieses Verfahren. Kann ich aber auch nochmals posten wenn ich wieder im Lande bin.
 
24.08.2008  
 




Matz
Progger


Es geht immernoch nicht. Und ich verstehe es nicht.

Die Sphere wird ja angezeigt allso ist doch alles in Ordnung. Aber warum wird
das nicht Triangles nicht angezeigt.
KompilierenMarkierenSeparieren
Print %maxx,%maxy
declare hWnd&
oGL("Init",%hWnd, 0,.2, 1, 1)
oGl("glTranslatef",0, 0,-50)

Proc Rendern

    oGL("Clear")
    OGl("Origin",0,0,-6)
    OGl("Sphere",1,16,16)
    oGl("glBegin",~GL_TRIANGLES)
    OGl("glColor3f",1, 0, 0):OGl("glVertex3f",-1,-1, 0)
    OGl("glColor3f",1, 0, 0):OGl("glVertex3f", 1,-1, 0)
    OGl("glColor3f",1, 0, 0):OGL("glVertex3f", 0, 1, 0)
    OGL("glEnd")
    OGL("Show")

EndProc

cls

WhileNot %ScanKey=27

    Rendern

endwhile


Das Turtorial ist von dort her:
[...] 
 
24.08.2008  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

10.969 Views

Untitledvor 0 min.
Glubbfan20.06.2021
Lothar Dannhauer22.06.2012

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie