Skocz do zawartości

Choosen

Użytkownicy
  • Postów

    196
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Choosen

  1. Ok... id to zmienna systemowa, wszystko jasne. Tak czy inaczej bugów jest więcej niż kiedyś :-) sorry za temat, można usunąć Chciałbym się upewnić... czy tylko mi się wydaje, że nowe Game Maker Studio ma mnóstwo bugów ? Co chwila wychodzą łatki ale w tym samym tempie pojawiają się nowe bugi... Może to dlatego, że już dawno nie pracowałem w starszych wersjach GM ale mam wrażenie, że kiedyś było to nieco bardziej stabilne środowisko. Ale do rzeczy: Poniższy kod, który akurat u mnie powinien zwrócić pewne wyniki (zbiór wyników nie jest pusty ) z uwagi na to, że instancje obj_Floor są obecne w momencie wywołania, powinien zadziałać również w przypadku, kiedy instancje obj_Floor nie są obecne. W żadnym wypadku nie powinien jednak wyrzucać błędu, który zacytowałem poniżej kodu. Żeby było śmieszniej, kod działa prawidłowo po skompilowaniu do html5 jednak kończy się błędem po uruchomieniu jako exe. Czy jest to bug czy może nie dostrzegam czegoś logicznego w poniższym zapisie ? Jeśli to bug to wiecie może czy ktoś już to zgłosił ? Dzięki! GML var i; for (i = 0; i <= instance_number(obj_Floor); i += 1) { id = instance_find(obj_Floor,i); } VMError!! Occurred - Pop :: Execution Error - Variable set problem id at gml_Object_obj_btn_podlogi_Mouse_4 (line 3) - for (i = 0; i <= instance_number(obj_Floor); i += 1)
  2. Jest szansa na plik kompatybilny z GM Studio ? Jeśli nie to zrób chociaż *.exe żebym mógł się pobawić ;)
  3. 1) Tworzysz statek, który podąża za kursorem myszy. ( Np w dziale step if (x>mouse_x) x-=statek_speed; ... ) 2) Przy starcie gry inicjujesz alarm[0] ( alarm[0] = room_speed * 10; ) 3) Kiedy alarm[0] osiągnie wartość 0 wykonujesz sekwencję poleceń: - losujesz jedną z dostępnych przeszkód - tworzysz przeszkodę na środku ekranu - resetujesz wartość alarm[0] by za jakiś czas sekwencja się powtórzyła 4) W obiekcie przeszkoda dodajesz kod, który co step zwiększa skalę aż do momentu kiedy zniknie ( np jeśli skala przekroczy zadaną wartość lub upłynie jakiś stały czas od stworzenia obiektu). Na chwilę przed zniknięciem sprawdzasz kolizję ze statkiem i dodajesz punkty lub odejmujesz hp statku. To tak w skrócie cała gra.. powodzenia :thumbsup:
  4. Tam w ogóle nie ma 3d. To tylko skalowane sprity 2D. I właśnie skalowanie jest tu kluczem. Sam "tunel" składa się z sekwensji spritów, które tworzone są w środku ekranu i skalowane w góre do pewnego poziomu a potem znikają. Jeśli przy skali maksymalnej ( gdzie statek powinien przelatywać przez daną przeszkodę ) występuje kolicja spritu ze statkiem to gracz "uderza" w przeszkode, jeśli nie to dostaje punkty i leci dalej... i tak w kółko.
  5. Cóż... jasne, że ustawiłem w spricie I w obiekcie i to zarówno wariant "same as sprite" jak i wybór konkretnego sprite'a. Niestety rezultat bez zmian.
  6. Witam. Wydaje mi się, że kiedyś to działało domyślnie ale teraz w nowej wersji game maker studio mam z tym problem... Otóż staram się wykonać pewną sekwencję kodu po kliknięciu myszą na jeden z obiektów. Obiekty, używają grafiki rombu (a zatem część prostokątnego sprite'a jest przezroczysta). Mój problem polega na tym, że kod wykonuje się nawet wówczas gdy użytkownik kliknie w przezroczystą część sprite'a i chciałbym to zmienić. Próbowałem ustawić maskę na diament lub precyzyjną ale mimo, że maska nakłada się prawidłowo nadal mogę kliknąć w przezroczysty fragment. Czy jest na to jakiś sposób czy będę to musiał jakoś obejść ? Wydaje mi się, że w wersji GM5 lub 6 domyślnie w podobnym przypadku kod wykonywał się tylko po kliknięciu w nieprzezroczystą część. A może po prostu coś źle ustawiłem ? Z góry dziękuję za rady
  7. Sugerowałbym zrobić detekcję kolizji tylko górnej części bohatera a w sekcji "step" nóg dodać kod, który co klatkę przenosi je w miejsce górnej połowy: GML x=głowa.x; y=głowa.y; Oczywiście to tylko przykład i u ciebie sam kod może wyglądać nieco inaczej.
  8. No no... muszę przyznać, że pomysł pierwsza klasa. Prosta, wciągająca gierka... właśnie takich pomysłów mi brakuje :-) Gratulacje.
  9. Hmm... no lepiej na pewno nie ale może tak zadziała. Nie jestem zwolennikiem kombinowania a to na pewno nie jest sposób jaki przewidzieli do tego typu operacji twórcy programu ;) Tym razem jednak nie specjalnie mam wybór... Zaadaptuję do swoich potrzeb i sprawdzę jak wyszło po powrocie do domu. Dzięki Gnysek. Fajnie byłoby gdybyś jeszcze zerknął na PM'a ode mnie :thumbsup: Pozdrawiam...
  10. Witam. Szukam kogoś z kim mógłbym pogadać o problemie jaki napotkałem używając biblioteki jQuery. Chodzi mianowicie o efekt FadeIn / FadeOut. Użyta przeze mnie funkcja nie jest może niczym odkrywczym ale i sama biblioteka nie wymaga od użytkownika wiele kodu: <script> $(document).ready(function(){ function runIt() { $("#show").fadeIn("slow").fadeOut("slow", runIt); }; runIt(); }); </script> Warstwa "show" jest w istocie logiem, które ma się pojawiać i znikać w nieskonczoność. Wszyskie przeglądarki radzą sobie z zadaniem doskonale a problem dotyczy jedynie IE, ktora nie wiedzieć czemu nie czeka aż "animacja" się zakończy i nieustannie ZACZYNA się pojawiać i znikać przez co w rezultacie w ogóle nic nie widać... Ktoś ma pomysł gdzie leży problem ?
  11. Staary.. chore to demo ;) Co ono niby przedstawia ?
  12. Coz.. całe zamieszanie wynikło niepotrzebnie bo stworzylem temat zanim sprawdzilem na czym to dezaktywowanie wlasciwie polega.. założyłem, że obiekty są rysowane ale statyczne. Okazuje się, że one nawet nie rysują swoich spritów a co za tym idzie cała operacja traci dla mnie sens :-) Mimo wszystko dziękuję za pomoc
  13. Samo wykonanie algorytmu nie stanowi dla mnie problemu.. miałem tylko nadzieję, że da się uniknąć nadmiarowości danych bo przecież taka zmienna na 100% istnieje tylko mark jej nie udostępnił. Skąd to przypuszczenie ? No przecież on na takiej samej podstawie stwierdza czy dany obiekt ma wykonywać swoje zaplanowane akcje czy też nie... Trudno, jak słusznie zasugerował Serge przyjdzie mi stworzyć własną zmienną w kilku tysiącach kopii :-/
  14. Chodzi o stan jaki mozna uzyskac za pomocą funkcji do aktywowania i dezaktywowania obiektów. instance_deactivate_all(notme) Deactivates all instances in the room. If notme is true the calling instance is not deactivated (which is normally what you want). itd...
  15. Czy jest jakas zmienna, która pozwala sprawdzić czy dany obiekt jest aktywny czy też nie ? Chciałbym napisać skrypt, który niszczy wszystkie aktywne obiektyoszczędzając tym samym te nieaktywne. Jest taka możliwość?
  16. Dokładnie o to chodziło Tymon. Dziękuję, zamykam. Swoją drogą dawno już nie przeglądałem spisu nowych funkcji ;)
  17. Przypuśćmy, że chciałbym napisać skrypt, który jako parametr przyjmowałby nazwę zmiennej, którą ma modyfikować. Czy jest sposób aby przekazać nazwę takiej zmiennej w parametrze? Przypisz_wartosc(zmienna1,10); <-- chodzi o coś takiego Jakieś pomysły? Hmm.. po dłuższej chwili przyszło mi do głowy ze idealnym rozwiązaniem byłby wskaznik... czy GM ma zaimplementowane wskazniki ?
  18. Tak.. "dałoby radę" Zapewne chodzi Ci o to jak to zrobic.. Coż najprosciej będzie poprostu nakazać obiektowi podążać za kursorem W dziale step mlotka: { x=mouse_x; y=mouse_y; } Gdybyś chciał aby młotek realistycznie "podskakiwał" za kursorem jak gdyby był zawieszony na lince musisz powtórzyć wiadomości z fizyki. Prędkość kursora obliczasz na zasadzie zapamiętywania aktualnej i poprzedniej pozycji. Następnie znając czas i odległosc między punktami ( działania na wektorach ) obliczasz predkosc. Kierunek pozyskujesz za pomocą funkcji GMa która wylicza kierunek mięczy dwoma punktami w przestrzeni ( point_direction(x1,y1,x2,y2) o ile mnie pamiec nie myli )
  19. No... to nie do konca zwróci kąt nachylenia ściany. Raczej kąt przy którym nastąpiła pierwsza kolizja co nie zawsze jest równoznaczne z tym o co cekol pyta Do tego nie dawałbym tego kodu w step. 180 operacji w kazdym cyklu zegarowym znacząco obciązy procesor. Postaraj się to umieścic w innym evencie np tym który odpowiada za poruszanie się postaci ( stojąca postac nie musi pewnie znac nachylenia terenu ) Ograniczylbym tez ilosc sprawdzanych pozycji ze 180 do np 36 ( sprawdzaj co 5 stopni ) Chociaz sam kod prawdopodobnie nie będzie działał poprawnie w kilku przypadkach ukształtowania terenu.
  20. Całkiem przyjemna gierka. Jak na pierwszą, którą zrobiłeś jest nawet bardzo dobra. Nie zawiera błędów jest schludna i skonczona w 100%. Gratuluję ;)
  21. Jeśli wszystko dobrze zrozumiałem wystarczy abyś dodał kod odpowiedzialny za zmianę animacji na "left" do eventu key_released klawisza którym oddajesz strzał. Jasne? Czy powiedzieć dokładniej ?
  22. Funkcja draw odpowiada za rysowanie. Tak długo jak nic tam nie wstawisz Game Maker zastępuje ją własną domyślną funkcją która rysuje sprite obiektu. Jeśli dodasz w tym dziale własną funkcję, która coś rysuje automatycznie anulowana zostaje funkcja domyślna a co za tym idzie sam musisz zadbać o narysowanie sprite'a.
  23. Cóż.. nikłe masz szanse na zrobienie profesjonalnego edytora ale jeśli lubisz to robić to może ma to sens... Ja bym dodał przesuwanie obiektów za pomocą myszki. Nieustanne wpisywanie wartości liczbowych z czasem staje się męczące a do tego nie każdy wie o ile chce przesunąć dany obiekt. Program nie umożliwia też edycji na poziomie poligonów co owocuje sporą nadmiarowością danych w przypadku kiedy 2 lub więcej figur łączy się ze sobą
  24. Otwrzymujesz id obiektu który stworzyłes... linia się rysuje ale z punktu A do punktu A więc nigdy jej nie zobaczysz. Poprawiłem ten Twoj kod : przykład Moim skromnym zdaniem powinno się jednak rysować linię do następnego wstawionego a nie najbliższego punktu no ale to juz Twoja decyzja...
×
×
  • Dodaj nową pozycję...