Skocz do zawartości

PsichiX

Użytkownicy
  • Postów

    5 647
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    12

Treść opublikowana przez PsichiX

  1. podeslij mi paczke z projektem, ktory stworzyles + logi kompilacji debug i release. cale logi i wszystkie pliki projektu bez folderow bin i obj.
  2. ok, pacz jak to sie robi: 1. sciagasz paczke sfml 2.1; 2. wypakowujesz ja gdzies na dysku (ja stosuje do tego osobny folder na rozne SDK); 3. tworzysz nowy project konsolowy w C::B; 4. menu -> project -> build options: a ) z lewego panelu wybierasz roota (czyli ustawienia projektu); b ) zakladka "search directiories"; c ) ponizej zakladka "compiler" i dodajesz tam sciezke do "<sfml2.1>/include"; d ) dalej zakladka "linker" i dodajesz sciezke do "<sfml2.1>/lib"; e ) zakladka "compiler settings", potem nizej "#defines" i dodajesz: "SFML_STATIC"; f ) z lewego panelu wybierasz "debug"; g ) zaladka "linker setings"; h ) dodajesz nastepujace biblioteki (pamietaj, ze kolejnosc ich dodawania jest wazna!): libsfml-audio-s-d.a, libsfml-graphics-s-d.a, libsfml-window-s-d.a, libsfml-system-s-d.a i ) z lewego panelu wybierasz "release"; j ) zaladka "linker setings"; k ) dodajesz nastepujace biblioteki (pamietaj, ze kolejnosc ich dodawania jest wazna!): libsfml-audio-s.a, libsfml-graphics-s.a, libsfml-window-s.a, libsfml-system-s.a Pro-tip: CZYTANIE DOKUMENTACJI NIEDOPUSZCZA DO POWSTANIA TAKICH PROBLEMÓW. CHeers! :)
  3. biblioteki .lib sa kompilowane przez kompilator visuala. biblioteki .a sa budowane przez gcc.
  4. @Pasztet: setParent() nie powinno byc w ogole publiczne - stwarzasz tym mozliwosc zepsucia apki przez uzytkownika.
  5. w takim razie pokaz im jak to zrobic, skoro to banalne :)
  6. niestety, ale nie doceniam. brak generycznego sposobu tworzenia game objectow, do tego generowanie identyfikatorow na poczatku programu, co powoduje ze nie mozna dodawac instancji w locie (bullety, itp.).
  7. PsichiX

    Strona internetowa help

    WAMP na winde - one click installer.
  8. albo quadem :D https://marketplace.yoyogames.com/assets/20...eric-sky-shader
  9. docs.yoyogames.com: d3d_set_fog(); d3d_set_depth();
  10. w obiekcie księżyca w draw pierw wyłączasz depth mode, wyłączasz mgłę, rysujesz normalnie księżyc, włączasz depth mode, włączasz mgłę
  11. bardzo zle, bo dzieki temu gracz nie bedzie mogl sie ruszyc po wejsciu w zasieg innego bilboardu, tj. nie ucieknie :>
  12. dot product to wlasnie roznica katow, tylko ze zwraca wynik w cosinusie kata, nie w kacie i jest szybsze niz angle_difference(). angle_difference() lezy dlatego, ze w srodku liczy kosztowne atan(). EDIT: choc jesli angle_difference() to taki kod: GML return ((((argument0 - argument1) mod 360) + 540) mod 360) - 180; to trzeba przetestowac co sie dluzej liczy..
  13. lul, Brzoza dostal w tym temacie bombe optymalizacyjnego stuffu :D
  14. w GM:S normalnie masz GML w wirtualce uruchamiany (popraw mnie gnysiu, jesli sie myle?), a kompilacja do c++ jest w YoYoCompilerze
  15. bo Twoje direction jest obrocone o 90 stopni w ktoras strone wzgledem faktycznego kierunku patrzenia. dodaj lub odejmij 90 przy direction. lenistwo najwiekszym wrogiem optymalizacji ;) ze w GM:S?
  16. @Threef: do tego sluzy zoptymalizowana wersja algorytmu, zwana Dot Product: GML if( dot_product_normalised( x - player.x, y - player.y, player.forward_x, player.forward_y ) < global.cosinus_fov ) exit; gdzie: global.cosinus_fov to wyliczona raz wartosc cosinusa z kata widocznosci, czyli np: GML global.cosinus_fov = cos( degtorad( 45 ) ); player.forward_x i player.forward_y to wyliczone wartosci X i Y jednostkowe wektora kierunku co zmiane obrotu playera, czyli: GML (player) var dir_rad = degtorad( direction ); forward_x = cos( dir_rad ); forward_y = sin( dir_rad );
  17. @Sutikku: działa to tak, że z poziomu IDE możemy tworzyć nowe komponenty i używać tych już stworzonych, z poziomu C++ zaś kodujemy ich zachowanie i udostępnione propertiesy, które to znowu z poziomu IDE możemy modyfikować. W Ptakopysku nie ma czegoś takiego jak programowanie logiki Game Objectu - Game Object to tylko kontener na komponenty, zaś komponenty odpowiadają w pełni na zachowanie Game Objectu. Przykładowo możemy podpiąć komponent transformacji (odpowiedzialny za pozycję, rotację i skalę), lub renderujący sprajta, albo inny renderujący tekst, albo podpiąć komponent z ciałem fizycznym, czy też stworzyć zupełnie nowy na własne potrzeby :) System komponentowy ma tę przewagę, że zamiast robić masę copy&paste kodu per obiekt, jedynie kodujemy zachowanie raz, a później podpinamy te zachowania do komponentó, które powinny je posiadać :)
  18. Wpinanie renderera i logiki sceny Ptakopyska bezpośrednio do IDE jest już na wykończeniu - pozostało naprawić edytory propertiesów assetów oraz dodać UI do zarządzania sceną i IDE jest gotowe! (tak - w IDE wołamy już bezpośrednio obiekty i komponenty napisane w C++) ^^
  19. W najprostrzym skrocie: moj wlasny "Game Maker" (choc blizej mu do Unity dla gier 2D). Edytor pisany w C#, kod pisze sie w c++.
  20. wersja zoptymalizowana: GML var dx = dupa.x - x; var dy = dupa.y - y; if( ( dx * dx ) + ( dy * dy ) > ilestam * ilestam ) exit; dzieki temu unikamy bardzo kosztownego: GML if( sqrt( ( dx * dx ) + ( dy * dy ) ) > ilestam ) exit; ;)
×
×
  • Dodaj nową pozycję...