dużo obrazków i program muli
Witam jestem dosyć początkujący w programowaniu w języku C# ale mam do zrobienia projekt. Zrobiłem grę arkanoid i teraz zacząłem upiększać ją grafiką.
Problem zaczął się po tym jak bloczki dostały swoje bitmapy.
Bloczki są rysowane przy każdym cyknięciu zegara. Rysuje je w ten sposób:
[code] bmp = new Bitmap(WindowsFormsApplication2.Resource1.block1);
g.DrawImage(bmp, x,y);[/code]
Przy jednym bloczku wszystko ładnie śmiga ale jak bloczków jest 10-30 to już się nie da grać. Paletka chodzi płynnie bloczki ładnie zmieniają kolory (bitmapy) natomiast piłka strasznie wolno zaczyna lecieć.
Zegar mam ustawiony na 10ms i prędkość piłki na 5 (przesuwa się 5px przy każdym cyknięciu zegara)
Odpowiedzi: 1
Po pierwsze muszę stwierdzić, że popełniłeś wielki błąd wybierając dla Twojego projektu niewłaściwą technologię. Windows Forms jest przeznaczone raczej do tworzenia GUI dla aplikacji użytkowych, a nie gier z płynnymi animacjami!
Proponuję 3 rozwiązania:
1. Jeśli chcesz koniecznie chcesz pozostać przy WinForms, ustaw zegar na jakieś 200 ms (albo nawet więcej w razie potrzeby) i dobierz odpowiednio większą prędkość piłki. Gra nie będzie działać płynnie, ale przecież nie ma co się spodziewać cudów.
2. Przejdź na WPF - będziesz miał do dyspozycji specjalny mechanizm do realizowania płynnych animacji.
3. Przejdź na XNA Game Studio 4.0, które jest przeznaczone specjalnie do tworzenia gier lub aplikacji multimedialnych.
Strona 1 / 1