Skocz do zawartości

gnysek

Administratorzy
  • Postów

    9 812
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    141

Treść opublikowana przez gnysek

  1. Ach, miałem błędy bo tam jest y a nie mouse_y. Nie wiem czemu założyłem, że w pionie tez się porusza.
  2. Jeśli ustawisz prędkość poruszania = 4, a postać znajduje się w odległości 6 pikseli od myszy, to nigdy nie trafi na jej pozycję x/y, dlatego, że w każdym evencie STEP przesuwa się o 4 piksele. To znaczy, że w kolejnym kroku będzie o 2 piksele od myszy, a jeszcze następnym o 2 za daleko. Stąd szaleństwo :) Rozwiązania są dwa. Pierwsze, mniej dokładne, bo postać zatrzyma się w odległości mniejszej niż SS pikseli od myszy, gdzie SS to prędkość: GML if point_distance(mouse_x,mouse_y,x,y) >= SS { move_towards_point(mouse_x,y,SS); } albo bardziej dokładne, gdzie zawsze zatrzyma się w tym samym miejscu: GML var d = point_distance(mouse_x,mouse_y,x,y); if d > 0 { move_towards_point(mouse_x,y,min(d, SS)); } Za SS podstaw swoją wartość speeda :)
  3. Sprawdzaj w evencie skoku, czy pod spodem znajduje się podłoga. W ten sam sposób jak przy sprawdzaniu, kiedy ma się zatrzymać :)
  4. gnysek

    Bonfire

    Ten trzeci jakoś tak najmniej fajny, bo sporo szczegółów twarzy zostało ukryte za peleryną i jest wrażenie, że obrazek jest niekompletny. I ten brązowy za mało kontrastowy do outline-a. Dwóch pierszych zacnie wygląda i pasuje stylem :)
  5. gnysek

    Bonfire

    Że ten skrypt to się domyśliłem, już kilka razy go tutaj podawałeś ;)
  6. gnysek

    Bonfire

    Na tym chyba w ogóle polega problem z robieniem gier w GM:S. Wcale nie na tym co on oferuje, ale na tym, żeby ście wykorzystać swoje skille artystyczne i sprawić, żeby gra wyglądała dobrze, a nie żeby kod powodował orgazm u programisty. Przez to np. nie poszło nam z Planet Descent - Androidy nie były w stanie uciągnąć więcej texture switchy i trzeba było obciąć na grafice i rozmiarze leveli, przez co gra stała się trudna i niewygodna, a połowę mechaniki wywaliliśmy. Idę o zakład, że na mojej komórce to ognisko by nie wyciągneło 60FPS w full rozdziałce - i cała magia Bonfire na dzień dobry by umarła.
  7. W podłodze? Ale że w jakiej podłodze, masz rzut z boku, z góry, czy 3d?
  8. Jeśli ustawia elementy w siatce o stałym rozmiarze (np. 32x32) jesteś w stanie sprawdzić, czy dane pole ma jakiś element czy nie i obliczyć, czy jest możliwe doskakiwanie do danej platformy z jej krańcowych elementów, cąłą mapę traktując jako tablicę binarną gdzie 0 == pusto, 1 == zajęte :)
  9. Standardowo komputer takowej funkcji chyba nie posiada, więc jeśli ta gra taką posiada, to na pewno musi korzystać z jakiegoś specjalnego rozszerzenia (dynamicznej biblioteki, czyli DLL) - w związku z tym GM:S takowej funkcji też nie posiada, ale można napisać takowy DLL i funkcję tę dodać. Chyba, że myszka taka uznana będzie jako funkcja multidotyku (w Windows 8 i nowszych), wtedy po prostu odbierasz pozycję z drugiego palca - do tego są funkcje np. device_mouse_x(device); gdzie device to numer palca wg. kolejności dotykania :)
  10. gnysek

    Evils Return

    Skąd zakosiłeś grafikę buttonów i ramki? :D Odstaje od reszty i widac, że nie jest Twojego autorstwa ;)
  11. Można to zastąpić odpowiednimi ds_mapami i JSONem :) Wtedy też można trzymać eventy w prostych, czytelnych plikach (np. YAML i konwertować do JSON, a potem robić z tego ds_mapy ). Z racji, ze GM ma opcję oznaczania podmap/podlist i przy konstrukcji ze stringa JSONowego sam oznacza wszystkie postruktury, usuwając główną usuwamy całość i w ten sposób wylatuje nam to z RAMu :) Wystarczy więc np. zrobić tablicę/listę z JSONami i stworzyć skrypt który odpala nam eventy z takiego czegoś po jakimś ID. Przykładowo takie JSONy wyglądałby tak: a[0] = '{type:"message", text:"Hej, jestem dobrą wóżką!", action:"actorLeftDeph", arg0:1, next: 1}'; a[1] = '{type:"action", action: "changeRoom", arg0: 2, next: -1}'; No i korzystając z XMLa z zasobami można by w takim edytorze nazwy obiektów, roomów itd. wyświetlać tekstowo, bo niestety w zapisie muszą być jako ID (no na siłę można by zrobić listę zasobów pętlą while od 0 i xxx_get_name tak długo jak xxx_exists, np. sprite_exists, script_exists, itd. Trochę zabawy za pierwszym razem, ale potem taki zestaw pozwala na naprawdę wiele i można zrobić całą grę nie otwierając już więcej GM.
  12. Eeej, PHP i JS też mają EVAL czyli to samo co execute string. Ta funkcja poleciała, bo z YYC nie mogła by działać, bo by cały sens binarki psuła.
  13. Wykasuj wszystko związanie z GM z folderów %APPDATA% i %LOCALAPPDATA% i sprobuj raz jeszcze.
  14. Jeśli pracodawca nie wymaga konkretnego narzędzia, albo bibliotek - to możesz :) Ale trzeba mieć dokumentację projektu, żeby stwierdzić, czy w GM da radę, bo niestety nie wszystko da się zrobić.
  15. Hah, nie ma to jak usunąć dźwięki, ale nie usunąć kodu który je odpala...
  16. No właśnie chyba nie umiesz, skoro nie rozumiesz co robisz ;) y-=-1 rozwaliło mój dzień, bo to chyba w 4 klasie podstawówki już uczą, że minus i minus daje plus.
  17. Zmień font :) Ten z prawej jest inną czcionką bo jest inna proporcja liter.
  18. Nie ujdzie, bo to nie serwis do hostowania plików. Dostajesz za to ostrzeżenie.
  19. Nie wstawisz, bo ma limit 100MB :)
  20. Wszędzie :) Nawet do programu masz dołączone :) Na naszej stronie (co prawda dla starych GMów), na forum gmc.yoyogames.com jest sporo.
  21. Ja tak samo robiłem - pobierałem przykłady i sprawdzalem co się stanie, jak pozmieniam cyferki albo zakomentuję jakiegoś ifa (ale oczywiście prawidłowo zakomentuję :P) - żeby zrozumieć jak to wszystko działa i co się bez tego dzieje. No i wydrukowałem cały manual i czytałem na kiblu.
  22. To jak w GM:S wyeksportowałeś grę? Tam nadal widoczne są dźwięki :)
  23. W ustawieniach każdego dźwięku można podać rodzaj kompresji. W grze powinny być OGGi/MP3 które naprawdę mało zajmują.
  24. Dźwięki wav bardzo dobrze się akurat kompresują, więc coś innego jest powodem. Jakieś included files czy coś?
  25. Jedyną opcją pozostaje zastanowić się, dlaczego aż 120MB?
×
×
  • Dodaj nową pozycję...