Skocz do zawartości

Jakim

Użytkownicy
  • Postów

    1 109
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    2

Treść opublikowana przez Jakim

  1. A wywaliłeś obiekt 'czas', hm? Do takich rzeczy nie ma przykładów ;).
  2. http://pl.wikipedia.org/wiki/Zmienna_%28informatyka%29 W Game Makerze zmienne deklaruje się w obiektach - w CREATE: nazwa_zmiennej=wartość Kod: czas-=1 dajesz w stepie tego obiektu, w którym sprawdzasz, czy wciśnięto klawisz 'A'.
  3. Gdybyś sobie to przetłumaczył, wiedziałbyś, że zapomniałeś dać jednego nawiasu. (keyboard_check(vk_alt)) Właściwie to Kryniak zapomniał ;).
  4. Sprzeczałbym się, Bixon. Jedna sekunda to nie '3', a aktualna prędkość roomu, czyli room_speed. Byłoby '3', gdyby ilość klatek na sekundę również wynosiła 3. A tak zapewne nie jest. W takim razie trolu powinien ustawić alarm[0]=room_speed.
  5. Jakim

    Zwykły czy 3D ?

    W jakim sensie "zwykły"? Jeśli program ma dodatkowe funkcje, to czemu ma się z nich nie korzystać? No, chyba że Ci chodziło The 3D Gamemaker - wtedy nie mamy o czym rozmawiać :).
  6. Owe efekty są w większości programach, np. w programie PaintNET. Może się to różnie nazywać - noise = szum, blur = zmiękczenie itp.
  7. Zero myślenia ;P. Identycznie jak w przykładzie, z tą jednak różnicą, że przypisujesz wartości zmiennej 'array' innym zmiennym. name=array[0] health=array[1] Dalej analogicznie.
  8. Czasami wystarczy efekt noise + blur.
  9. Zainicjuj zmienną, która będzie liczyć czas od uderzenia - niech to będzie np. 'czas'. W stepie zawsze odejmuj 1 od tej wartości. Dodaj także zmienną, która sprawdzać będzie, który atak wykonano - np. 'atak'. czas-=1 Ogólna struktura skryptu ataku będzie wyglądać tak: if keyboard_check_pressed(ord('A')) { if czas>0 { if atak=1 { sprite_index=animacja2; czas=liczba sekund*room_speed //w tym wypadku będzie 1*room_speed, czyli prościej - room_speed atak=2 } else if atak=2 { sprite_index=animacja3; czas=0 atak=0 } } else { atak=1 sprite_index=animacja1; czas=liczba sekund*room_speed //jak poprzednio } } Po zakończeniu animacji ataku (animation end) powinieneś przywrócić domyślny sprite. Powinno działać... o ile czegoś nie spaprałem ;).
  10. Jakim

    wasz pierwszy kod

    if keyboard_check(vk_right) { x+=32 } Mniej więcej coś w tym stylu. Pamiętam, że chciałem zrobić ruch przyciągany do siatki, ale efekt tego skryptu chyba nie do końca mnie zadowolił ;). Jednym z późniejszych skryptów był system ładowania poziomów (nawet się na forum o to pytałem).
  11. Jakim

    Wasza muzyka

    Skoro remix, to utwór tylko częściowo jest Twój ;). Remiksy to złuj, lepiej samemu układać melodię, choćby i najprostszą. Nie słuchałem oryginału, więc nawet nie wiem, co dodałeś/wyciąłeś - zmieniłeś - w takim razie nie oceniam.
  12. Wykorzystaj alarmy. Alarmy możesz inicjować w CREATE: alarm[0] = liczba sekund * room_speed //w tym wypadku podstawiasz '5' ...i później dodawać warunki w STEPIE: if alarm[0] = 0 { direction=45*floor(random(8)) } Osobiście z alarmów nigdy nie korzystam, więc mogłem coś pomieszać.
  13. A co podstawiłeś pod 'speed'?
  14. Jedno pytanie: ma być to ruch całkowicie spontaniczny czy z przyciąganiem do siatki? Jeśli chcesz ustawić losowy kierunek początkowy, w zdarzeniu CREATE obiektu musisz ustawić: direction=45*floor(random(8))
  15. Jakim

    Szukam programu

    Jesteś tego pewien? ;] http://www.google.com/search?hl=pl&q=g...&lr=lang_pl
  16. Skoro istnieje, to warto by było, gdybyś przytoczył treść tego komunikatu.
  17. Jakim

    Wasza muzyka

    Lowrider: uu :(. Co to ma być? Bez ładu, składu itp., itd. Teraz ja. Kawałek mojej symfonii, mam nadzieję, że się spodoba (wyrenderowany do mp3 moduł) :). https://gmclan.org/up506_8_SYMPH2.html
  18. Hm, możesz spróbować wyedytować (dodać kilka warunków itp.) ten kod albo go w ogóle usunąć: if possession!=noone { //ustaw pozycję piłki przy graczu x = possession.x; //możesz dodać coś do tych współrzędnych, np. "+lengthdir_x(16,possession.direction)" y = possession.y; }
  19. Mniej więcej coś takiego: CREATE: possession=noone; STEP: if possession!=noone { //ustaw pozycję piłki przy graczu x = possession.x; //możesz dodać coś do tych współrzędnych, np. "+lengthdir_x(16,possession.direction)" y = possession.y; } Ten skrypt umieść w obiekcie "pilka". Zmienna possession będzie wynosić id zawodnika, przy którym się znajduje piłka. STEP: if place_meeting(x,y,pilka) //jeśli kolizja z piłką { pilka.possession=id; } if( keyboard_check_pressed(ord( 'Z' ))) { if( distance_to_object( pilka ) < 32 ) and pilka.possession = id //jesli dystans jest mniejszy niż 32 oraz gracz jest przy piłce pilka.direction = direction; pilka.speed = ilestam; pilka.possession = noone; //wyzeruj posiadanie piłki }
  20. Jak uderzasz w piłkę, musisz ustawić piłce jakąś prędkość. if( keyboard_check_pressed( ord( 'Z' ) ) ) { if( distance_to_object( pilka ) < 32 ) pilka.direction = direction; pilka.speed = ilestam; }
  21. Wszystko się dzieje w obiekcie piłkarza. Chociaż zawsze można prościej: pilka.direction=direction
  22. Możesz użyć funkcji point_direction(x,y,pilka.x,pilka.y) i ustawić dzięki niej direction piłki. if keyboard_check(ord('Z')) { pilka.direction=point_direction(x,y,pilka.x,pilka.y) }
  23. Co do pytania: musisz ustawić w opcjach czcionki większy zakres - character range - na 0 - 255. Domyślnie ustawiony jest zakres 32 - 127.
  24. Do zaokrąglania służy funkcja round(val): zmienna1=3.6 zmienna2=round(zmienna1) Zmienna2 będzie wynosić 4. Natomiast do zaokrąglania w górę służy funkcja ceil(val), w dół - floor(val). W Twoim przypadku można zrobić: round(random(cośtam))
  25. if keyboard_check_pressed(ord('Z')) { instance_change(obiekt,0) }
×
×
  • Dodaj nową pozycję...