Skocz do zawartości

Niesforna piłka ;d


Rekomendowane odpowiedzi

object0 to piłkarz i tam sobie chodzi mniejsza o niego tak samo jak object4 - to tez pilkarz i tez mniejsza o niego ;P

 

object1 to piłka

object1 Create:

GML
global.who=0

object1 Step:

GML
if global.who=0

{

friction=choose(0.1,0.2,0.3,0.4,0.5)

}

if global.who=1 and !keyboard_check(vk_control)

{

x=object0.x

y=object0.y

}

if global.who=2 and !keyboard_check(vk_space)

{

x=object4.x

y=object4.y

}

if place_meeting(x,y,object0) or place_meeting(x,y,object4)

{

if place_meeting(x,y,object0)

{

global.who=1

}

if place_meeting(x,y,object4)

{

global.who=2

}

}

else

{

global.who=0

}

if x<=0 or x>=room_width-30 or y<=0 or y>=room_height-30

{

global.who=0

speed=0

x=320

y=240

}

Kolizja z object0:

GML
if keyboard_check(vk_space)

{

global.who=0

speed=20+object0.speed

direction=object0.direction

}

Kolizja z object4

GML
if keyboard_check(vk_control)

{

global.who=0

speed=20+object4.speed

direction=object4.direction

}

 

piłki sie kopnąć raczej nie da tak jakoś dziwnie leci, albo jak jojo - poleci przed piłkarza kawałek i wróci z wielką prędkosćią

 

 

 

zasyfiały ten kod, nawet chyba wiem czemu tak sie dzieje.. da sie jakos ten kod innaczej zrobic?

 

edit:

pewnie powiecie ze po co ten kod:

if global.who=0

{

friction=choose(0.1,0.2,0.3,0.4,0.5)

}

 

.. załóżmy, że wiatr się gwałtownie zmienia :P xD

Odnośnik do komentarza
Udostępnij na innych stronach

ja piernicze. mam już dość tych twoich idiotycznych kodów.

Nic się nie nauczyłeś po moim wyczerpującym poście w poprzednim twoim temacie. Powtarzasz te same błędy!

 

Nie wiem czemu ci nie działa i nie chce mi się szukać za to mogę ci powiedzieć co jest bez sensu w tym kodzie bo widzę że sam nie jesteś w stanie uruchomić mózgownicy.

 

friction=choose(0.1,0.2,0.3,0.4,0.5)

 

Nie wiem co chcesz osiągnąć ale wydaje mi się że możesz to zrobić za pomocą

friction=0.1+random(0.4)

Głowy se uciąć nie dam ale chyba jest szybsze a na pewno przejrzystsze

 

if global.who=0

{

friction=choose(0.1,0.2,0.3,0.4,0.5)

}

if global.who=1 and !keyboard_check(vk_control)

{

x=object0.x

y=object0.y

}

if global.who=2 and !keyboard_check(vk_space)

{

x=object4.x

y=object4.y

}

Czy ty nie znasz takiego czegoś jak "else if"?

Skoro już pierwszy warunek się spełni to po cholerę ma sprawdzać następne jeśli są sprzeczne?

jeśli już global.who=1 było prawdziwe to po co jeszcze sprawdzać global.who=2 skoro wiadomo że będzie fałszywe!

Myśl! To nie boli!

Naucz się co to jest "else if"

 

if place_meeting(x,y,object0) or place_meeting(x,y,object4)

{

if place_meeting(x,y,object0)

{

global.who=1

}

if place_meeting(x,y,object4)

{

global.who=2

}

}

Rzygać mi się chce jak widzę taki kod.

Dokładnie taki sam bezsens miałeś w ostatnim temacie i cię za to ochrzaniłem.

Sprawdzasz czy a lub b a potem jeszcze raz sprawdzasz oddzielnie a i b żeby zobaczyć które z nich -_-

Po co dwa razy sprawdzać place_meeting(x,y,object0) i dwa razy place_meeting(x,y,object4)? Tak lubisz pożerać cenne fpsy i przejrzystość kodu?

Odnośnik do komentarza
Udostępnij na innych stronach

Rzygać mi się chce jak widzę taki kod.

Dokładnie taki sam bezsens miałeś w ostatnim temacie i cię za to ochrzaniłem.

Sprawdzasz czy a lub b a potem jeszcze raz sprawdzasz oddzielnie a i b żeby zobaczyć które z nich sleep.gif

Po co dwa razy sprawdzać place_meeting(x,y,object0) i dwa razy place_meeting(x,y,object4)? Tak lubisz pożerać cenne fpsy i przejrzystość kodu?

 

Nie rozumiesz, że robie ten kod, żeby zrobić ELSE do dwóch warunków?! Innaczej nie umiem!

to tak samo jak to:

GML
if keyboard_check(vk_up)

{

sprite_index=gora

y-=5

}

else

{

sprite_index=nieruszasie

}

if keyboard_check(vk_down)

{

sprite_index=dol

y+=5

}

else

{

sprite_index=nieruszasie

}

jak zrobie taki kod to nacisne vk_down np a itak sie nei zmieni animacja bo bedzie dzialac else od vk_up a tak jak zrobie if vk_up or vk_down to moge do tego warunku dac else i dopiero sprite_index=nieruszasie

 

qmasz?!

Odnośnik do komentarza
Udostępnij na innych stronach

Ja qumam. Ale ty nie!

 

Nie możesz po prostu zrobić tak?

GML
if global.who=0

{

friction=choose(0.1,0.2,0.3,0.4,0.5)

}

else if global.who=1 and !keyboard_check(vk_control)

{

x=object0.x

y=object0.y

}

else if global.who=2 and !keyboard_check(vk_space)

{

x=object4.x

y=object4.y

}

 

oraz tak?

 

GML
if place_meeting(x,y,object0)

{

global.who=1

}

else if place_meeting(x,y,object4)

{

global.who=2

}

else

{

global.who=0

}

 

Powtórzę jeszcze raz: Myśl!

Odnośnik do komentarza
Udostępnij na innych stronach

aha no fakt bo przeciez szkoda jednej tysięcznej megaherca z procesora

 

Teraz to jest jedna tysięczna. Ale kiedyś będziesz robił większe projekty a te warunki będą zawierały funkcje o złożoności na przykład kwadratowej. Wtedy to będzie się bardzo liczyło.

A ty nie będziesz umiał inaczej bo sie teraz nauczysz złych nawyków.

 

A ten post napisałeś tylko dlatego że nie potrafisz przyznać mi racji, że się myliłeś. :P

 

 

Poza tym sam przyznasz chyba że poza optymalnością jest też DUŻO przejrzyściej. A to też jest ważne niekiedy.

Odnośnik do komentarza
Udostępnij na innych stronach

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

Jedynie 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ę poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...