Skocz do zawartości

Marek.S

Użytkownicy
  • Postów

    3 093
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Marek.S

  1. musisz stworzyć takie obiekty. jaki rzut?
  2. jeżeli alarm nie jest "odliczany" to wynosi -1. jeśli wystartujemy alarm (alarm[0] = 5) ustawimy zmienną na 5. Owa zmienna z każdy stepem będzie zmieszała swą wartość o 1. My chcąc aby alarm się stale nie ustawiał na 5, ograniczamy możliwość ustawienia go tylko wtedy gdy wynosi -1 (czyli jeszcze nie został wystartowany)
  3. przy kolizji powinno być: GML if ( alarm[ 0 ] = -1 ) alarm[ 0 ] = 5 * room_speed i po kłopocie ;) ogólnie całą akcja z tej kolizji powinna być wykonywana gdy alarm0 nie jest ustawiony GML (Kolizja) if ( alarm[ 0 ] = -1 ) { effect_create_above(ef_explosion , x , y ,1 , c_red ) alarm[0] = room_speed * 5 //tutejsza akcja zostanie wykonana wyłącznie gdy alarm0 nie został jeszcze "wystartowany" }
  4. nie posługuj się skrótami typu "1" czy "2" bo nie wiem czy chodzi o drugi obiekt(inny) czy chodzi Ci o 2 naraz. Wyraź się lepiej, bo nie skumałem :P możesz narysować
  5. GML (Create) rysuj = false GML (MouseEnter) rysuj = true GML (MouseLeave) rysuj = false GML (Draw) if ( rysuj = true ) draw_rectangle( x - 50 , y - 50 , x + 50 , y + 50 , true ):P
  6. innaczej: GML (Create) alarm[ 0 ] = 30 * 1 //czas po jakim zmieni się kier poruszania - 1sek speed = 3 direction = random( 360 ) GML (Alarm0) direction = random( 360 ) //losuje nowy kier poruszania speed = 3 alarm[ 0 ] = 60 * 1.5 //zapętlenie alarmu 1.5 sek GML (KolizjaZeSciana) move_bounce_solid( true )
  7. GML if ( place_free( x , + lengthdir_x( 5 , direction ) , y + lengthdir_y( 5 , direction )) speed = 3 else { speed = 0 x = xprevious y = yprevious } spróbuj
  8. widocznie gdzieś w step masz speed = 0. poszukaj. =p
  9. GML (Create) alarm[ 0 ] = 60 * 3 //czas po jakim zmieni się kier poruszania speed = 3 direction = random( 360 ) GML (Alarm0) direction = random( 360 ) //losuje nowy kier poruszania alarm[ 0 ] = 60 * 3 //zapętlenie alarmu to tyle. powinno pomóc ;)
  10. bo jak zmienia się kat i stosunek dir < lub > ulega zmianie. odśwież jutro temat albo przypomnij mi na pm to Ci napiszę co by można z tym zrobić ;)
  11. winny: GML if(point_direction(x,y,xx,yy)<direction<=point_direction(x,y,xx,yy)-180) then direction-=2; if(point_direction(x,y,xx,yy)>direction>point_direction(x,y,xx,yy)-180) then direction+=2; direction się dodaje a zaraz po tym odejmuje. Na pewno skacze od -2 do 2. ustaw jakiś przedział. np zrób tak: GML dir = point_direction( x , y , xx , yy ) if ( abs( direction - dir ) > 2 ) { if ( direction > dir ) direction -= 2 else direction += 2 } else direction = dir
  12. GML (Create) cath = false GML (MouseLeftButtonPressed) cath = true GML (MouseGlobalLeftReleased) if ( cath = true ) { //akcja poruszania cath = false }
  13. zwraca id obiektu (object) znajdującego się w podanej pozycji. np. GML if ( collision_point( mouse_x , mouse_y , hero , true , true )) show_message( 'obj hero znalazł się w poz myszki' ) albo: GML ID = collision_point( 300 , 50 , obj_hero , true , true ) if ( ID > 0 ) //jeśli zwróci jakieś id to zmienna będzie > 0 { with( ID ) instance_destroy() } więcej obiektów? ustaw parrenta tym obiektom lub wpisz all
  14. przy kliknięciu: global.obrazek = nazwa_sprita w następnym roomie draw_sprite( global.obrazek , 0 , x , y ) ;)
  15. step. raczej: if score >= 50 then room_goto_next();
  16. GML if ( zaz = true and not instance_exists( obj_doj )) instance_create( xx , yy , obj_doj ) if ( instance_exists( obj_doj )) { //chodzenie do obj_doj } w kolizji z tym obiektem usuwaj go =P
  17. przecież kody na obrót miałeś podawane wyżej... <_<
  18. to zrób na speedach. w kolizji: speed = -speed :P
  19. przy kolizji: direction += 180 image_angle = direction
  20. GML if ( instance_number( object ) = 1 ) show_message('skoro jest tylko jeden to po co bawić się w wyszukiwanie id? #zmienna wynosi: ' + string( zmienna )
×
×
  • Dodaj nową pozycję...