PsichiX
Użytkownicy-
Postów
5 647 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
12
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez PsichiX
-
podeslij mi paczke z projektem, ktory stworzyles + logi kompilacji debug i release. cale logi i wszystkie pliki projektu bez folderow bin i obj.
-
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! :)
-
Please, use SFML 2.1 :)
-
biblioteki .lib sa kompilowane przez kompilator visuala. biblioteki .a sa budowane przez gcc.
-
@Pasztet: setParent() nie powinno byc w ogole publiczne - stwarzasz tym mozliwosc zepsucia apki przez uzytkownika.
-
w takim razie pokaz im jak to zrobic, skoro to banalne :)
-
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.).
-
WAMP na winde - one click installer.
-
@UP: w GMie nie ma point sprites
-
albo quadem :D https://marketplace.yoyogames.com/assets/20...eric-sky-shader
-
docs.yoyogames.com: d3d_set_fog(); d3d_set_depth();
-
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łę
-
Jak porządnie zoptymalizować billboardy
PsichiX odpowiedział(a) na Czołg Krymski temat w Pytania początkujących
bardzo zle, bo dzieki temu gracz nie bedzie mogl sie ruszyc po wejsciu w zasieg innego bilboardu, tj. nie ucieknie :> -
Jak porządnie zoptymalizować billboardy
PsichiX odpowiedział(a) na Czołg Krymski temat w Pytania początkujących
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.. -
Jak porządnie zoptymalizować billboardy
PsichiX odpowiedział(a) na Czołg Krymski temat w Pytania początkujących
nope. broń borze. -
Jak porządnie zoptymalizować billboardy
PsichiX odpowiedział(a) na Czołg Krymski temat w Pytania początkujących
lul, Brzoza dostal w tym temacie bombe optymalizacyjnego stuffu :D -
Jak porządnie zoptymalizować billboardy
PsichiX odpowiedział(a) na Czołg Krymski temat w Pytania początkujących
sziet D: -
Jak porządnie zoptymalizować billboardy
PsichiX odpowiedział(a) na Czołg Krymski temat w Pytania początkujących
aż zrobię test, bo wierzyć mi się nie chce :0 -
w GM:S normalnie masz GML w wirtualce uruchamiany (popraw mnie gnysiu, jesli sie myle?), a kompilacja do c++ jest w YoYoCompilerze
-
Jak porządnie zoptymalizować billboardy
PsichiX odpowiedział(a) na Czołg Krymski temat w Pytania początkujących
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? -
Jak porządnie zoptymalizować billboardy
PsichiX odpowiedział(a) na Czołg Krymski temat w Pytania początkujących
@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 ); -
@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ć :)
-
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++) ^^
-
W najprostrzym skrocie: moj wlasny "Game Maker" (choc blizej mu do Unity dla gier 2D). Edytor pisany w C#, kod pisze sie w c++.
-
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; ;)