Skocz do zawartości
enter11

przeszkody i film

Rekomendowane odpowiedzi

Nie mogę coś znaleść odpowiedzi na:

-Jesteś ileś pikseli od wroga to on idzie w twoją strone i idzie po platformie (grawitacja) jeśli napotka na przeszkodę próbuję ją przeszkoczyć a jak wpadnie na spadek(dół) spada.

-Bomba które jest ileś pikseli od ciebie leci w twoją stronę ale jeśli napotka na jakiś obiekt eksploduje.

-Film lecący w czasie gry np. przechodzę koło telewizora i widać w nim film.

 

Możliwe są takie rzeczy? :unsure:

 

Z góry dziękuję . :rolleyes:

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

w step np. bomby

GML
if point_distance(x,y,gracz.x,gracz.y) < 15 //sprawdza dystans w pikselach od np.bomby do gracza (w tym wypadku 15)

direction = point_direction(x,y,gracz.x,gracz.y) //ustala kierunek do gracza

speed = 5 //prędkość (tutaj 5)</span>

 

I na koniec kolizja z bohaterem (z tym chyba sobie poradzisz)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

1.Distance_to_point i move_towards_point.

Dokładniej:

GML
if distance_to_point(gracz.x,gracz.y,x,y)<20

move_towards_point(gracz.x,gracz.y,gracz.speed)

if distance_to_point(blok.x,blok.y,x,y)<5 and direction_to_point(blok.x,blok.y,x,y)=direction

y-=5

 

2. Distance_to_point i move_towards_point. I oczywiście kod na wybuch w kolizji z przeszkodą.

3.Trzeba chyba na surfacach.

Nie jestem pewien czy wszystko jest dobrze bo nie znam argumentów tych funkcji.

E:MXQ był pierwszy.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

@up

na przyszłość używaj kodu, jest znacznie czytelniejszy

 

EDIT:

o sory zedytowałeś

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

masz wersje PRO?

 

jak nie to zrób na sprity:

Explosion

 

jak masz PRO to istnieje taka funkcja, choć ja jej nie używam, bo jest wykorzystywana w praktycznie wszystkich grach na Game Makerze

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

To w particlach (trudne), lub jeśli masz grafikę - na spricie, wtedy wystarczy dać w Evencie Draw:

GML
draw_sprite(wybuch,0,bomba.x,bomba.y)

E: Jak ja wolno piszę :crying:

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Musisz mu więc ustawić grawitację w Create w taki sposób:

GML
gravity=0.7 // z tą wielkością pokombinuj</span>

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

a co do jego kierunku w stronę gracza:

(u wroga w step)

 

GML
if point_distance(x,y,gracz.x,gracz.y) < 50

{

if gracz.x < x

hspeed = -5

if gracz.x > x

hspeed = 5

}

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

a może wiesz żeby obiekt strzelał do gracza np. z laseru i po jakimś czasie robił przerwy i leciał z niego dym.Potem dym znikał i znowu by strzelał.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

w create:

GML
ammo = 20 //długość strzelania z broni</span></span></span></span></span>

 

w step:

GML
if ammo = 0

{

alarm[0] = 15 //przerwa

ammo = -1

}

if point_distance(x,y,gracz.x,gracz.y) < 50

if ammo > 0

{

instance_create(x,y,obj_laser)

ammo -= 1

}

w alarm0:

GML
ammo = 20

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

GML
if point_distance(x,y,gracz.x,gracz.y) < 50 and a<50

{

instance_create(x.y,laser)

a+=2

}

a-=1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Strzeli z 50 razy, przestanie na chwilkę i zacznie z powrotem.

E: Mówisz masz:

GML
if point_distance(x,y,gracz.x,gracz.y) < 50 and a<50 // jeśli jesteś bliżej niż 50 pikseli od wroga oraz a jest mniejsze od 50

{ // otwarcie bloku

instance_create(x.y,laser)// stwórz obiekt laser

a+=2// zwiększ a o dwa jeśli strzelał

}//koniec bloku

a-=1//niezależnie od tego czy strzelał czy nie zmiejsz a o 1</span>

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Tworzysz sprita - jakąś kreskę (8x8, kwadrat). W Origin dajesz center. Tworzysz obiekt laser z tym spritem.

 

W create:

GML
direction = point_direction(x,y,gracz.x,gracz.y)

speed = 7

 

W step:

GML
image_angle = direction

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

A jeśli chcesz, aby laser nie przemieszczał się usuń linijkę:

GML
speed = 7

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Zaraz dam screena.

E:

Jednak nie dam screena, nie umiem tego zrobić, ale dam link.Obrazek

Tabelka Origin, w komórkach dajesz połowę z wysokości oraz szerokości, lub ustawiasz taki krzyżyk na środku obrazka( mniej dokładne).

E2: Chyba jednak nauczyłem się:

bez_tytu_u.jpg

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Dobrze jak wstawisz mam ostatnie trzy pytania.

 

Prubowałem zrobić ruchomą platformę ale postać zjeżdzała albo jak platforma leciała w górę postać przenikała przez nią.

 

Klucz np do otwierania danych drzwi.

 

I dym

 

Jak wstawiłeś shreena.

 

Sory za głupie pytania.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

*dym - efekt wbudowany w Game Makerze

 

 

*a co do klucza i drzwi to zrób objekt klucz i daj mu w kolizji z graczem:

GML
global.klucz = 1

instance_destroy()

w obj_drzwi :

 

w create:

GML
global.klucz = 0

 

w kolizji z graczem:

GML
if global.klucz = 1

{

//dana czynność}</span>

 

jak wstawić screena? kliknij w button "Wstaw obrazek" podczas pisania posta i wklej w wyświetlonym nowo oknie adres obrazka

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

1. W kolizji bohatera z ruchomą platformą:

GML
b=1// odpowiednia zmienna</span></span>

W step

GML
if b=1 // jeśli dotykasz ruchomej platformy

{

x=ruch_platf.x //////////////////////////////

y=ruch_platf.y+kilka//// To podążaj za nią.////

} //////////////////////////////

if place_free(x,y+1)//jeśli pod spodem niczego nie ma

b=0 // to nie ma także platformy</span></span>

Oraz up:

GML
b=0 //żeby można było zeskoczyć</span></span>

E:

Zapomniałem o reszcie pytań

2. Tak jak mówi MXQ, lecz zamiast global.kucz daj global.klucz[0], będziesz dać w tedy więcej rodzajów drzwi i pasujących kluczy.

3.To powiedział MXQ

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

A np trampoline?

Jak zrobić?

Albo bonus bochatera żeby niszczył wszystkie obiekty oprócz ścian kolców (tylko wrogów) i zmienił się wielkością?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

1.W kolizji z trampoliną:

GML
vspeed-=5// wystrzelenie w górę (pokombinuj z tą wartością</span>

2. W kolizji z każdym obiektem, który ma niszczyć:

GML
if bonus=1 // jeśli ma my bonus

{

with (other) // z innym

{

instance_destroy() // zniszcz obiekt

} //////////////// czyli logiczniej : jeśli mamy bonus zniszcz obiekt z który kolidujesz \\\\\\\\\\\\\\\\\\\\\\\\\\

}

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

ale chodzi mi tylko o samego wroga

 

Mam też pytanie chyba przed ostatnie

Moge umieścić was w napisach mojej gry niewiem jak inaczej ci podziękować

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
A np trampoline?

Jak zrobić?

Albo bonus bochatera żeby niszczył wszystkie obiekty oprócz ścian kolców (tylko wrogów) i zmienił się wielkością?

 

 

GML
with(o_wrog) instance_destroy () // niszczy wszystkich wrogow

sprite_index=sprite_ktory_jest_wiekszy // zmienia spirte</span>

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ę.

×