Skocz do zawartości

Tymon

Użytkownicy
  • Postów

    5 841
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    5

Treść opublikowana przez Tymon

  1. Głupoty gadasz. GML akurat miesza składnie kilku języków, więc to co on napisał jest poprawne. W warunkach = oznacza dokładnie to samo co == w C.
  2. mouse_check_button_pressed sprawdza czy przycisk myszy został kliknięty, ale w całym oknie gry, a nie tylko na obiekcie. By dotyczyło to tylko tego obiektu, który jest pod myszą musisz użyć instance_position. GML if( mouse_check_button_pressed( mb_left ) && instance_position( mouse_x, mouse_y, id ) == id ) { ... Ewentualnie występuje wiele kolizji z obiekt2. Gdybyś wyjaśnił co chcesz osiągnąć byłoby łatwiej.
  3. Czy ja wiem. Programista daje z siebie wszystko, grafik daje z siebie wszystko czyli każdy robi swoje i to wszystko. Wtedy oboje wiedzą, że gra która powstaje to po prostu szczyt ich możliwości. Skończą jedną, biorą się za drugą. I tak do oporu, aż zaczną powstawać coraz ciekawsze rzeczy. Nie wiem jak wy, ale ja jakieś 4 lata temu przestałem wybrzydzać umiejętnościami współpracowników. W końcu tworzymy amatorskie gry są po to by czegoś się nauczyć.
  4. To jest zawsze taka gra w chowanego. Niezły grafik szuka niezłego programisty, a w międzyczasie jakiś niezły programista szuka niezłego grafia. No i jak u nas mają powstawać ciekawe produkcje?
  5. https://gmclan.org/up152_14_download_v1001.html Zmienia chr( 10 ) na chr( 13 ) we wszystkim co ściągnie.
  6. Kodowanie. Tfu. Sposób zapisu znaku nowej linii. Czasami jest to CR, czasami LF, a czasami CR+LF. Ty masz teraz LF, a powinieneś mnieć CR ( GMowy enter ). http://en.wikipedia.org/wiki/Newline#Representations
  7. Zamień chr( 10 ) na chr( 13 ), ewentualnie zmień kodowanie pliku.
  8. Ja tam się zgadzam z Pablo-GM.
  9. W wyniku tego tematu zacząłem się zastanawiać jak by tu ułatwić operacje na punktach. Pisanie do tego specjalnej biblioteki odpada, używanie DSów jest wolaste... więc kombinujemy! Na początku próbowałem zbudować konstrukcję podobną do tej z programowania obiektowego - klasy. Wydała mi się naturalna jeśli chodzi o manipulowanie punktami. Użyłem do tego celu obiektów, a za pomocą scriptów symulowałem takie operatory jak new czy delete. Wyszło jakieś 77% maksymalnej wydajności tego samego co bym napisał bez użycia bajerów. Bardzo słabo. Później wziąłem to co już zrobiłem i odchudziłem, wyszło coś na wzór struktur. I tu dużo lepiej z wydajnością bo aż 88% maksymalnej. Na końcu wpadłem na pomysł umieszczenia dwóch liczb do jednej z użyciem operatorów binarnych, takie pakowanie. Nieźle, wyszło 87% i pomysł bardzo mi się podoba z racji nieużywania obiektów choć kosztem zakresu zmiennej. Koniec końców zrobiłem i na DSach, 80%. To tyle z mojej strony, teraz wy. Może macie jakieś lepsze pomysły? To co zrobiłem macie tutaj.
  10. Nie do końca. Akurat tutaj nie musimy implementować pełnej fizyki, wystarczy zubożona, ale dokładniejsza. Precyzując, musimy rozwiązać taki problem: Mamy 3 kule. Intuicja podpowiada nam, że zielona i niebieska powinny się odbić, ale w tym co obecnie napisałem odbiją się zielona i żółta. Dlaczego? Bo skrypt w ogóle nie sprawdza czy przypadkiem po drodze nie nastąpi kolizja zielonej z niebieską tylko przeskakuje o wektor i dopiero wtedy sprawdza czy nie nastąpiła kolizja. Większość silników fizycznych rozwiązuje to po prostu większym próbkowaniem, np. 10 razy w ciągu stepa. My tego nie potrzebujemy, w końcu nie operujemy na złożonych figurach tylko na... okręgach. Swoją drogą, nie wiem czy chce mi się to pisać w GMie - bez prostych struktur to niesamowite pieprzenie się, a używanie DSów... no proszę.
  11. Trzeba by jeszcze uwzględnić kolizje dla siły > 20, wektor siły kuli przy kolizji i takie tam. Ale w sumie masz rację, poprawię i zrobię z tego przykład, później wrzucę do zasobów. ;)
  12. Jeśli masz klucz to nie widzę problemu. http://gamemakerblog.com/2011/04/15/upgrad...-gamemaker-8-1/
  13. Twój ból. Miłego updateu do nowszej wersji. EDIT https://gmclan.org/up152_0_bilard.html Tyle mogę pomóc.
  14. Pytania zaawansowanych polegają na tym, że ktoś zgłasza problem wymagający biegłej wiedzy z zakresu GM jak i z innych dziedzin. https://gmclan.org/up152_14_bilard.html Masz, 20 minut pracy. Bardzo zubożona wersja. Nawet z błędem. Kombinuj.
  15. Wsadzanie całego silnika fizyki do GMa tylko do bilardu? No proszę. Jedyny problem jaki tu jest to wyliczenie punktu kolizji bill z bilą i ze stołem - to drugie łatwiejsze.
  16. Tak, dokładnie. :) Jak chcesz wszystkie bity na 1 to masz 255 = $FF = 11111111b.
  17. Dziesiętne 1, 2, 4, 8, 16, 32, 64, 128 to kolejno 1, 10, 100, 1000, 10000, 100000, 1000000 w binarnym, zaś heksadecymalne $10 to 16 w dziesiętnym czyli 10000 w binarnym. $378 to pierwszy port, $379 drugi, $37A trzeci... $37F ósmy. Każdy port jest 8 bitowy, czyli używasz io_port_out do manipulacją bitów portu. io_port_word_out nadpisze dwa porty, io_port_dword_out cztery - zaczynając od wskazanego.
  18. W zasadzie to: GML io_port_out( $378, $10 );Powinno robić to samo co:portwriteb($378,$10); Jeśli to nie działa to może coś z IO jest nie tak - tak jak mówiłem, Windowsy zbytnio się w to mieszają. Ostatecznie napiszę coś innego, ale będziesz musiał to Ty testować, ja nie mam jak.
  19. Lub jego brak, jeśli nic w tej pozycji nie ma - czyli noone aka -4.
  20. 378 to pierwszy port LPT 1, 37F to jego ostatni. Przeleć od początku do końca co się dzieje na portach to się dowiesz. Ja nie znam się na LPT. EDIT 8 portów na dane i w sumie by się zgadzało. http://pl.wikipedia.org/wiki/IEEE_1284 Hint. Adresy portów podajesz jako liczbę, nie jako tekst.
  21. Tymon

    Skrypt

    f( 1 ) = 1 + ( ( 1 div 2 ) * 4 ) = 1 f( 2 ) = 2 + ( ( 2 div 2 ) * 4 ) = 6 f( 3 ) = 3 + ( ( 3 div 2 ) * 4 ) = 7 ...
  22. -4 to noone, czyli brak obiektu w tej pozycji. Odsyłam do dokumentacji jeśli chodzi o działanie instance_position.
  23. Tymon

    Skrypt

    GML return argument0 + argument0 * 4;?
  24. 378-37F to zakres adresów w hexach. A io_is_driver_installed zwraca co ma zwracać - musisz sprawdzić na stronie z której to pochodzi o co chodzi.
×
×
  • Dodaj nową pozycję...