Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

11

28.10.2015, 06:44

Bird.y ist auch nicht die Geschwindigkeit, sondern die Position. :rolleyes:
Die Geschwindigkeit ist yMotion - was der Name übrigens auch schon sagt. Die Motion wird größer, immer um 2. Dieser Vorgang nennt sich Beschleunigung, wobei die Gravitation die 2 ist.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

12

28.10.2015, 06:47

Die Gravitation in jedem zweiten Frame zu ändern wäre physikalisch inkorrekt. Persönlich finde ich das "jeden zweiten Frame" so oder so inkorrekt, ich würde wohl statt jeden zweiten Frame um 2 zu erhöhen lieber jeden Frame um 1 erhöhen. Aber zum Glück merkt das eh niemand, weil schon Geschwindigkeiten visuell schwer zu beurteilen sind und ihr Integral erst recht.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

13

28.10.2015, 06:56

Statt iterativ Fehler aufzusummieren oder von FPS abzuhängen, kann man das ganz oft (ganz besonders bei Flappy Bird) auch physikalisch korrekt lösen über §d = v_0 t + \frac{1}{2}a t^2§
Statt der Geschwindigkeit und der Frametime merkt man sich eben die Anfangsposition und vergangene Zeit seit Anfang dieser Bewegung (bei Flappy Bird also der "Jump Knopf"-Moment). Der Rest ergibt sich dann von selbst, ohne numerische Instabilität oder Frametime-Hacking.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »BlueCobold« (28.10.2015, 13:30)


Slenderguy

Frischling

  • »Slenderguy« ist der Autor dieses Themas

Beiträge: 53

Wohnort: Schleswig-Holstein

  • Private Nachricht senden

14

28.10.2015, 18:26

Danke für die Erklärungen, mir ist erst jetzt aufgefallen dass es 2 Seiten mit den Antworten weitergeht.
Aber jetzt komme ich schon wieder nicht weiter und finde auch keine Erklärung im Internet. Ich hoffe ihr könnt mir helfen.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public void addColumn(boolean start ){
        int space = 300;
        int width = 100;
        int height = 50 + rand.nextInt(300);
        
        if (start){
        columns.add(new Rectangle(WIDTH + width + columns.size() * 300, HEIGHT - height - 120, width, height));
        columns.add(new Rectangle(WIDTH + width + (columns.size() - 1) * 300, 0, width, HEIGHT - height - space));
        }
        else {
            columns.add(new Rectangle(columns.get(columns.size() - 1).x + 600, HEIGHT - height - 120, width, height));
            columns.add(new Rectangle(columns.get(columns.size() - 1).x, 0, width, HEIGHT - height - space));
        }
    }


Da bei if (start)... werden 2 Röhren generiert. Es ist natürlich noch viel mehr Code enthalten, aber es geht mir jetzt nur beim erzeugen von den Röhren.
Zuerst wird rechts etwa 100px nach den Frame eine Röhre erstellt, aber ich verstehe nicht wie ich dafür sorgen kann das genau 300px über dem der ersten Röhre noch eine ensteht.
Bei dem Code wird es durch die ArrayList (mit, ich glaube (Column.size()- 1))gemacht.

Slenderguy

Frischling

  • »Slenderguy« ist der Autor dieses Themas

Beiträge: 53

Wohnort: Schleswig-Holstein

  • Private Nachricht senden

15

28.10.2015, 18:41

Ja aber die obere Röhre kann doch nicht zufällig sagen wir mal 200px runtergehen, die muss doch wissen wie groß die untere ist um genau -300px für den Raum freizulassen, oder ?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

16

28.10.2015, 18:47

Vielleicht solltest Du Dir mal aufmalen, was der Code überhaupt tut und daraus dann ableiten, was Du tun musst.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Slenderguy

Frischling

  • »Slenderguy« ist der Autor dieses Themas

Beiträge: 53

Wohnort: Schleswig-Holstein

  • Private Nachricht senden

17

28.10.2015, 18:55

Ok, dann frage ich es mal so. Was genau mach column.size() ? Size sind doch x und y Werte. Kann man dass mit

Quellcode

1
 +Column.size() 
weglassen ?

Slenderguy

Frischling

  • »Slenderguy« ist der Autor dieses Themas

Beiträge: 53

Wohnort: Schleswig-Holstein

  • Private Nachricht senden

18

28.10.2015, 19:01

Jetzt verstehe ichs, danke sehr.
Ich hätte gleich so fragen sollen

Slenderguy

Frischling

  • »Slenderguy« ist der Autor dieses Themas

Beiträge: 53

Wohnort: Schleswig-Holstein

  • Private Nachricht senden

19

30.10.2015, 20:43

Ich habe mich mal gefragt wie so ein 2D Sandbox-Jump&Run Spiel in Java aufgebaut sein könnte.
Würde die ganze Map aus mit Rechtecken(Blöcken) in einem Panel untergebracht sein ?
( Wären die JPanel Koordinaten durch einen Canvas koordiniert, also von oben links ? )
Wären alle Blöcke in ArrayListen abgespeichert (Der Spieler selbst auch) ?
Wenn die Map so 100px(die Block größe) * 10.000px Lang und 100px * 1.000 Hoch wäre, ginge das JPanel dann auch so weit ?

Ihr müsst nicht alle Fragen beantworten, aber nur erzählen wie ihr euch so das vorstellt, danke

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

20

30.10.2015, 20:52

Stell das doch bitte in einem neuen Thema ;)
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige