Skocz do zawartości
Koky

"Chodzenie potwora" oraz paski zycia.

Rekomendowane odpowiedzi

Witam.Jestem nowy jeśli chodzi o GM makera, choc pracowalem na nim wcześniej.Wiec prosze o wyrozumialość.

Mam 2 pyt.

A mianowicie:

 

1) Jak zrobic , aby potworek chodził losowo i "obracał sie" w tą strone którą idzie?(chodzi o zmiany spritów)

2)Jak można zrobić aby nad postacią wyświetlał sie pasek zdrowia oraz nazwa postaci.(Np. tak jak w "Tibii".)

 

Z góry dziękuje za pomoc iprzepraszamzamoje błędy ale pisałem na szybkiego :rolleyes: .

Pozdrawiam Koky.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

GML (Pierwsze)
create:

speed = 4

alarm[ 0 ] = 90

 

alarm0:

direction = random( 360 ) div 45 * 45

alarm[ 0 ] = random( 3 * room_speed )

 

step:

image_angle = direction

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

BartekGMClan ,uwierz mi , że szukałem i nic konkretnego nie znalazłem...

Marek.S Soorki za newbiowskie pytania ale tak jak mowiłem jestem tutaj nowy.A Więc gdzie ja mam ten kod wsadzic? :)

 

@Edit:

Marek Apropo kodu , mógłbyś mi jeszcze dokładnie wytłumaczyć "Co w tym kodzie robi co"?

 

Pozdrawiam.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

GML
create: -poniższy kod ma być w create, klocek execute piece code

speed = 4 //ustawiasz prędkość obiektu

alarm[ 0 ] = 90 //ustawiasz alarm na 3 sekundy (3*30)

alarm0: -poniższy kod ma byc w evencie alarm0, w klocku execute piece code

direction = random( 360 ) div 45 * 45 //ustawia losowy kierunek poruszania, wyrównane do 45*n

alarm[ 0 ] = random( 3 * room_speed ) //zapętla alarm, tak aby ta akcja mogła być powtórzona

step: - poniższy kod ma być w step, w klocku execute piece code

image_angle = direction // obraca sprite w kierunku poruszania.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Marek Dzięki za pomoc ale to nie działa :/

Wszystko wkleiłem.

Kod jest przejrzysty.

Żadnych błędów.

Ale Potworek nadal nic nie robi :(.

 

A jeśli chodzi o ten kawałek:

codeimage_angle = direction // obraca sprite w kierunku poruszania.

To z kąd ten potworek ma brac sprity przy obracaniu?

 

Pozdrawiam.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

image_angle jest zmienną opowiadająca za przekształcenie sprita, obrót o podany kąt.

 

Musiałeś źle coś przekopiować, bo u mnie wszystko działa.

Ew. masz jakiś inny kod w tym obiekcie który blokuje to poruszanie.

Spróbuj jeszcze raz, jak Ci nie wyjdzie to zapodam przykład, chociaż do tego to aż smutne robić przykład :P

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Ajajajaja... Marek masz racje :) Źle skopiowałem :) Lecz... Niestety Image_angle dostępne tylko w Pro. :(

 

Nie będę robił kolejnego tematu wiec chce się jeszcze zapytać jak zrobić ,żeby postać poszła o jedną kratke do przodu jak sie naciśnie raz np. strzalke w bok...(Bo aktualnie jak raz wcisne strzałke w bok to leci bez końca )

Pozdrawiam.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Działa :) Dzięki.

A jeszcze żeby potwór nie chodził na ukosy tylko na 4 kierunki. potrafił byś :jezor: ?

I jeszcze to ,żeby był ten pasek życia nad bohaterem i "chodził nad bohaterem" :].

 

 

Edit:

O boże... ile ja mam tych pytań...

- Jak już mam chodzenie po 1 kratce na boki to jak zrobic aby chodzil o 1 kratke do gory i na dół?(Próbowałem kombinować z "x" i "z" ale nie udało się)

- Chciałbym aby co 2 sek. zmieniały sie miedzy sobą 2 sprity.(Do tej pory tylko ustawiłem ,że jak się wciśnie obojętny klawisz i "wyciągnie on sie" to sie zmienia , ale głupawo wyszło)

- Można jakoś zapobiec temu , aby po zetknięciem sie postacią z obiektem stałym on nie zaklinowywała sie?

 

(Próbowałem wszystko na klockach robić..Ale nie wyszło to co chciałem)

 

Z góry dziękuje :).

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

GML
if ( keyboard_check_pressed( vk_right )) x += 24

else

if ( keyboard_check_pressed( vk_left)) x -= 24

else

if ( keyboard_check_pressed( vk_up)) y -= 24

else

if ( keyboard_check_pressed( vk_down)) y += 24

 

możesz użyć przykładu, który zapodał BartekGMClan. :) :thumbsup:

 

zmiana sprita:

GML
create:

alarm[ 1 ] = room_speed * 2 //2 sek

alarm1:

if ( sprite_index = sprite1 ) sprite_index = sprite2 else sprite_index = sprite1

alarm[ 1 ] = 2 * room_speed //zapętlenie alarmu

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

I po raz kolejny...Dzięki Marek :P

Wszystko działa.

A mógł by ktoś pomóc odnośnie tych pozostałych pytań?

Będe bardzo wdzięczny.:)

 

Co do przykłady Bartka to nie wiem czy dam rade coś zrobić ,, ale grunt to dobra myśl. :thumbsup:

 

Pozdrawiam.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
- Można jakoś zapobiec temu , aby po zetknięciem sie postacią z obiektem stałym on nie zaklinowywała sie?

jeżeli masz jakąś kolizję postaci z tym obiektem solid, usuń ją.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Ale co mam usunąć?

Obiekt soild?

 

Bez obiektu soild postac bedzie wychodzila poza ekran a room ma miec kształt areny.Poza tym stoją na arenie krzesła.

Kiedy beda soild to sie postac często blokuje , a kiedy nie jest soild to postać przechodzi pod tym :(

 

Edit:

Aaaaa! .Mam kolizje postaci z murem "Start a block".

Ale bez tego to postac przechodzi pod tym..

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Chce uzyskać efekt aby postać nie "przechodziła sobie" przez obiekty soild typu sciany.

Ale kiedy tak ustawiam to nieraz postac sie zaklina mniedzy nimi i trzeba naciskac rozne strzałki aby z tamtąd wyszła.

 

Pozdrawiam

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

MUSISZ sprawdzicz czy nowa pozycja jest wolna.:

GML
if ( keyboard_check_pressed( vk_right ) and place_free( x + 24 , y )) x += 24

else

if ( keyboard_check_pressed( vk_left) and place_free( x - 24 , y )) x -= 24

itd...

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Hmmm...Mogł byś opisać gdzie to wszystko wkleić i za co odpowiada?

Kombinowałem żeby wkleić do zdarzenia na naciśnięcie klawisza w bok/góre/dół.

Ale nie wyszło.

 

Z góry dzienks. ;P

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Działa , tylko on przeskakuje 2 kratki a powinnien 1. :P

Można to naprawić?

 

Co do myślenia to próbóje przynajmniej , ale ty GM'a masz obcykanego a ja wczoraj zacząłem :)

 

Pozdro.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Problem.

 

Jak ustawić aby potwór chodził tylko w 4 strony "świata" nie na ukos?

 

POZDRAWIAM

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

GML
jak masz w alarm0:

direction = random( 360 ) div 45 * 45

 

to zmień na:

direction = random( 360 ) div 90 * 90

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Ok. Działa :). A jeśli chodzi o to ,żeby zmieniał sprity jak sie obraca?(Np. lewo/prawo)

Da sie to jakos zrobić bez image_angle?

Pozdrawiam.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Kolejny problemik...

A mianowicie dodałem do bohatera Draw>kod:

draw_healthbar(x-20,y-30,x+40,y-25,hp,c_black,c_red,c_green,0,true,true)

i

Create>kod:

hp=100

 

I teraz jest pasek zycia nad bohaterem , ale samego bohatera nie ma!

Jak myślicie co się mogło stać?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się tutaj.

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×