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

[SFML 2.0] Animacje sprajtów

Ostatnio zmodyfikowano 2012-05-17 17:20
Autor Wiadomość
Admixior
» 2012-05-16 22:10:00
hmm... A w tej klasie przetrzymujesz obrazek jako wskaźnik czy jako obiekt? Jeśli jako obiekt to możliwe że ci całe obrazki kopiuje.
Używałeś referencji? Jak nie to użyj albo referencji albo wskaźnika na tablicę obrazków i ładuj tylko przez funkcje tak jak do tej pory.
Np:
sf::Image * obrazki = new sf::Image[ 8 ]
.

Możliwe że w tych funkcjach definiujesz sobie nowe obiekty (player)(chociaż trudno to powiedzieć bo nie widzę kodu) , które w jakiś sposób ładują lub kopiują obrazki.
P-56822
diego997
Temat założony przez niniejszego użytkownika
» 2012-05-16 22:14:22
No przecież trochę zamotało mnie to jak powiedziałeś że konstruktor wykonuje się na nowo, a może to faktycznie prawda, konstruktor na kopi wykonuje się ponownie?
P-56825
Admixior
» 2012-05-16 22:24:25
Właściwie to przesyłając do funkcji argument jako wartość wykonuje się "konstruktor kopiujący", to jest coś innego niż zwykły konstruktor.
Jak przez referencje lub wskaźnik to tylko adres przesyłasz.

Konstruktor kopiujący kopiuje bezwzględnie wszystko jak leci(wskaźniki itp)(identyczna kopia) wywołując kolejne konstruktory kopiujące dla klas które zawiera, chyba że pisząc klasę ktoś zdecyduje inaczej.

Możliwe że wywołuje się konstruktor kopiujący dla tekstury, a bóg wie jaka ona duża może być.
P-56830
DejaVu
» 2012-05-17 16:56:29
W zasadzie to:
1. kopiuje się tekstura do pamięci RAM
2. kopiuje się tekstura do pamięci GPU
3. usuwasz teksturę z pamięci GPU
4. usuwasz teksturę z pamięci RAM
i tak w kółko dla każdej tekstury (dlatego przycina).
Prawidłowo napisany kod będzie raz kopiował teksturę do pamięci RAM i GPU oraz raz ją usuwał (czyli wielokrotnie wykorzysta raz przesłane dane).
P-56849
hincu
» 2012-05-17 17:20:17
http://www.sfml-dev.org/documentation/2.0/classsf_1_1Rect.php

sklej sobie z tego jeden obrazek a później z pliku pobieraj sobie x,y ,szerokość i wysokość obrazka, zrób wczytywanie z pliku tych danych, nie z pamięci :P. Ludzie sobie będą wtedy sami mogli modyfikować klient, i GUI :P.
P-56850
1 « 2 »
Poprzednia strona Strona 2 z 2