Odpowiedz na ten temat
Pokaż wyniki od 1 do 10 z 10
  1. Avatar pawelnr1
    Dołączył
    Jan 2009
    Skąd
    Wrocław
    Postów
    137

    Cytuj | #1

    Zacząłem kodzić silnik do strzelanki w którym pociski są trzymane w liście. Moj problem polega na tym, że po opuszczeniu ekranu pociski powinny znikać żeby opróżnić pamięć. Robię to w ten sposób:
    Kod:
    if ((*i).pocisk.GetPosition().y<0 || (*i).pocisk.GetPosition().y>480 || (*i).pocisk.GetPosition().x<0 || (*i).pocisk.GetPosition().x>640) {
    				i=pociski.erase(i);
    			}
    Dla testu dałem ten kod znajomemu do skompilowania na Windowsie i gra zjadała około 8mb ramu. Na macu po każdej serii pocisków zużycie pamięci wzrasta więc wymazywanie pocisków z listy chyba nie działa. Czy ktoś wie jak to zmusić do działania na Macu?

    Tak wygląda cały kod: http://wklej.org/id/525236/
    Ostatnio edytowane przez pawelnr1 ; 07.05.2011 o 11:21
    Komputer: iMac 21.5
    Telefon: Stary dobry SE k510
    Odtwarzacz: iPod Touch/iPod shuffle
    Pozdrawiam
    Pawel


  2. Avatar konrado0905
    Dołączył
    Oct 2007
    Postów
    323

    Cytuj | #2

    Nie robiłem jeszcze nic w SFML, ale spróbuj

    sprites.remove_if(warunek);


  3. Dołączył
    Apr 2010
    Postów
    130

    Cytuj | #3

    Na macu po każdej serii pocisków zużycie pamięci wzrasta więc wymazywanie pocisków z listy chyba nie działa.
    Pamięć nie musi być od razu zwracana do systemu operacyjnego. Stronnicowanie i te sprawy.

    Inna sprawa, że sprawdzanie zarządzania pamięcią przez "patrzenie na zużycie pamięci" to nie najlepszy pomysł. Lepiej np. w destruktorze wypisać komunikat i patrzeć czy się wywołują destruktory (już abstrahując od narzędzi w stylu Valgrind).

  4. Avatar Roberto
    Dołączył
    Feb 2007
    Skąd
    Wrocław
    Postów
    11,866

    Cytuj | #4

    proponowałbym jednak do tego narzędzie Instruments który jest razem z XCode.
    Komputer: MacBook Pro 13,3" 2,26GHz (Lion 10.7.3)
    Telefon: iPhone 4S
    Tablet: iPad 2 3G
    dlaczego nie korzystasz z opcji szukaj?
    http://ifiboughtyourappalreadycaniup...acappstore.com


  5. Dołączył
    May 2011
    Postów
    48

    Cytuj | #5

    Ja mam takie pytanie - troche z innej beczki czy za pomoca Interface Buildera można tworzyć interfejs do programów C++ czy tylko Objc. C?

  6. Avatar Roberto
    Dołączył
    Feb 2007
    Skąd
    Wrocław
    Postów
    11,866

    Cytuj | #6

    Cocoa.
    Czyli Obj-C
    ale można mieszać Obj-C z C++ AFAIR.
    Komputer: MacBook Pro 13,3" 2,26GHz (Lion 10.7.3)
    Telefon: iPhone 4S
    Tablet: iPad 2 3G
    dlaczego nie korzystasz z opcji szukaj?
    http://ifiboughtyourappalreadycaniup...acappstore.com


  7. Dołączył
    May 2011
    Postów
    48

    Cytuj | #7

    Eee. Mógłbyś mi jeszcze wyjaśnić co to i czym się rózni Cocoa od Obj-C?

  8. Avatar Roberto
    Dołączył
    Feb 2007
    Skąd
    Wrocław
    Postów
    11,866

    Cytuj | #8

    Cocoa to framework, API.
    Obj-C to język programowania.
    Komputer: MacBook Pro 13,3" 2,26GHz (Lion 10.7.3)
    Telefon: iPhone 4S
    Tablet: iPad 2 3G
    dlaczego nie korzystasz z opcji szukaj?
    http://ifiboughtyourappalreadycaniup...acappstore.com


  9. Dołączył
    May 2011
    Postów
    48

    Cytuj | #9

    Ale do ogarnięcia Cocoa (słóży do iOS tak?) potrzebna jest znajomość Obj - C?
    Załóżmy, że zacznę od C++ (jeszcze w niczym nie programowałem) to czy później będzie mi łatwo przejść na OBJ - C?

  10. Avatar macieks72

    Dołączył
    Aug 2009
    Postów
    9,327

    1. Tak Cocoa jest pisana w obj-c, także tak, musisz znać obj-c jeśli chcesz używać Cocoa. Acha i Cocoa nie służy TYLKO do pisania pod iOS.

    2. Język jak język, można każdy poznać dość szybko, różnią się tylko składnią, ale tu nie o to chodzi, bo w samym języku wiele nie zdziałasz, chodzi o poznanie frameworka, a dzisiejsze frameworki czy to Cocoa, .NET czy nawet phpowy Zend są bardzo rozbudowane, także poznać je dobrze to NIE JEST prosta i szybka sprawa.

    Źle po prostu zadajesz pytanie, albo źle to wszystko rozumujesz, bo sam język programowania to jest pikuś.

    Taki przykład abyś zrozumiał idee: Znam dobrze php i kohana framework (framerowk do php), nie znam kompletnie Zenda (też framework do php). I teraz jeśli dostanę projekt do napisania w Zendzie, pomimo że znam dobrze php to rozkładam ręce i nic nie zrobię bo kompletnie nie znam Zenda.

    Tylko, że tutaj w obj-c praktycznie nie ma takich dylematów, bo ucząc się obj-c uczysz się też Cocoa, inaczej to jest lekko bez sensu. Taki to nierozłączny komplet jak C# i .NET.

    Mam nadzieję że wszystko już jasne.
    Ostatnio edytowane przez macieks72 ; 15.05.2011 o 21:43
    Komputer: Macbook Pro wykąpany w pepsi, teraz Acer Aspire 5750G
    Telefon: iPhone 4 - iOS 5.1.1
    Ludzie, używajcie alta. No chyba że wam obojętne, czy robicie komuś 'łaskę', czy 'laske'.

Odpowiedz na ten temat