Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML] Pong - piłeczka.

Ostatnio zmodyfikowano 2012-05-09 20:14
Autor Wiadomość
Kefir
Temat założony przez niniejszego użytkownika
[SFML] Pong - piłeczka.
» 2012-05-04 10:22:32
Cześć, jestem w trakcie pisania swojej drugiej w życiu gry (pierwsza to jednoręki bandyta w Visual Basic'u) jaką jest pong, i tu pojawia się problem.
1. Odbijanie piłeczki.
Myślałem nad takim rozwiązaniem żeby stworzyć trzy boxy, połączyć w jedną całość i np. piłeczka odbija się od środkowego boxa to leci prosto, od górnego leci w dół po przekątnej. To jest dobre rozwiązanie czy może jest jakieś inne lepsze.

2.Lot piłeczki.
Tutaj nie mam żadnego pomysłu na rozwiązanie, chciałbym aby odbita piłeczka poruszała się płynnie dopóki nie skoliduje się z paletką lub końcem ekranu. Jednak nie mam pomysłu jak się za to zabrać. Próbowałem to wsadzić w pętlę jednak wtedy piłeczka leci do przodu okropnie szybko i wcale jej nie widać.

Z góry dzięki za pomoc w rozwiązaniu tych problemów.
P-55962
SeaMonster131
» 2012-05-04 11:08:52
1. Kąt odbicia = kąt padania, z tymi box'ami to nie wiem co masz na myśli.
2. Jeżeli leci za szybko, to zmniejsz jej prędkość :)
P-55969
hincu
» 2012-05-04 11:40:19
1. tak jak wyzej napisal, mozesz tez uzyc biblioteki fizycznej ( box2d )
2. ruch jednostajny, ustal stala predkosc pilki, po uderzeniu zmniejsz ja a pozniej niech rosnie znow do stalej jednostajnie przyspieszono czy jak juz tam sobie chcesz, a jesli chcesz zrobic odbicia realistyczne to tez skorzystaj z box2d tam juz to jest : P, jesli zas chcesz sie tym pobawic sam to proponuje wrocic do podstaw fizyki z gimnazjum
P-55971
Admixior
» 2012-05-09 19:44:26
Próbowałem to wsadzić w pętlę jednak wtedy piłeczka leci do przodu okropnie szybko i wcale jej nie widać.
A próbowałeś dać wnd.SetFrameLimit(25);
I wtedy piłka porusz się z prędkością 25*(ilość pixeli na klatek jaką ustawiłeś) na sekundę.
P-56329
hincu
» 2012-05-09 20:14:40

A próbowałeś dać wnd.SetFrameLimit(25);
I wtedy piłka porusz się z prędkością 25*(ilość pixeli na klatek jaką ustawiłeś) na sekundę.

niezbyt dobre rozwiazanie

ja bym to zrobil raczej tak


pileczka.move( predkosc*window.getelapsedtime(), 0 );
P-56337
« 1 »
  Strona 1 z 1