Skocz do zawartości

nie wykonywana akcja


Bosu

Rekomendowane odpowiedzi

mam w obiekcie taki kod

draw:

GML
draw_sprite(sprite32,-1,view_xview[0]+321,view_yview[0]+420);

i co zrobić żeby obiekt mógł wykonywać inne akcje?

bo w left button mam żeby tworzył się inny obiekt no i nie działa.

Odnośnik do komentarza
Udostępnij na innych stronach

Lol a co ma draw do innych zdarzeń? Błąd musi być gdzie indziej.

 

Pamiętaj że to gdzie go rysujesz to nie jest miejsce gdzie on się znajduje. WIęc klikając tam gdzie jest rysowany nie klikasz na niego.

Musisz mu jeszcze takie x i y ustawić.

No i maskę odpowiednią...

Odnośnik do komentarza
Udostępnij na innych stronach

Człowieku ale jak chcesz robić zdarzenie kliknięcia na ten obiekt skoro on nie ma sprite'a ani maski?

Znaczy sprite ma tyle że to pusty sprite. Zero powierzchni na którą można by kliknąć.

 

Po drugie:

Powtórzę po raz drugi: Ty rysujesz jakieś coś w pewnym miejscu viewa, ale to tylko obrazek. To że ten obiekt coś tam rysuje nie oznacza że ten obiekt tam się znajduje! Jak chcesz by było coś przy kliknięciu na to co jest rysowane to musisz ten obiekt tam umieścić.

 

Poza tym wszystko jest ok.

Odnośnik do komentarza
Udostępnij na innych stronach

po prostu gdy obiekt nie ma sprita/maski gm nie ma jak sprawdzić czy na niego kliknąłeś.

btw. obiekt cały czas znajduje się w pozycji, w której wstawiłeś go do roomu, nie porusza się wraz z viewem.

 

->> twój kod draw_sprite(sprite31,-1,view_xview[0]+320,view_yview[0]+419); nie przesuwa obiektu za viewem tylko rysuje sprita na viewie

 

aby działało tak jak ty chcesz musisz ustawić sprita obiektowi, usunąć cały draw i dać w step: x

GML
//kod umiejscowi obiekt "na viewie"

view_xview[0]+320

view_yview[0]+419

 

E: @up mścisz się?

Odnośnik do komentarza
Udostępnij na innych stronach

Nie ma za co ;)

 

tylko uważaj na ten left button, bo przytrzymując klikniętą myszkę możesz przypadkiem stworzyć nie jeden lecz np 3 lub więcej obiektów, co wpłynie na wydajność gry. :(

 

proponuje zastąpić left button na left pressed ;)

Odnośnik do komentarza
Udostępnij na innych stronach

spoko mam zmienną blokującą tworzenie więcej niż jeden obiekt.

Dobra a teraz pytanie number 2:

mam sobie obiekt ze zmienną ilosc.

i mam takie okienko:

podziel

< ilość >

ok

i co zrobić żeby gdy kliknę na < ilość zmiennej dzieliła się na pół (100>50>25 itd) a gdy kliknę na > mnożyła (25>50>100)

i gdy kliknę ok to żeby tworzył się drugi obiekt z aktualną ilością zmiennej?

(chodzi o dzielenie jednostek jak w herosach)

Odnośnik do komentarza
Udostępnij na innych stronach

Tworzysz sobie obiekt strzałeczki w lewo i strzałeczki w prawo.

Jeden z nich niech drawuje tę wartość obok siebie.

 

I przy Left Mouse Pressed na odpowiednim dajesz ilosc*=2 lub ilosc/=2

 

Robisz też obiekt ok i przy Left Pressed dajesz to co chcesz :)

Odnośnik do komentarza
Udostępnij na innych stronach

narazie mam tyle:

https://gmclan.org/uploader/4961/pol.gm6

1. co zrobić aby zmienna rysowana w object2 nie zmieniała się przy klikaniu na strzałki?

2.co zrobić aby w zmienna w drugim tworzonym obiekcie miała wartość aktualnie obliczanej?

3.Jak o tej godzinie skombinować kolacje za 3,40?

uu sory nie zauważyłem że dublepost

Odnośnik do komentarza
Udostępnij na innych stronach

Jeszcze raz:

 

Robisz obiekt "ok"

W Create:

dupa=100;

 

W kliknięciu na "lewo"

ok.dupa/=2;

 

W kliknięciu na "prawo"

ok.dupa*=2;

 

Ona muszą się odwoływać do tej samej zmiennej, a nie że każdy ma własną.

 

EDIT:

No i wszystko pozostałe co potrzebuje tej wartości rób już w "ok". Na przykład drawuj tę wartość w ok

Odnośnik do komentarza
Udostępnij na innych stronach

robi się tak, bo operujesz cały czas na zmiennej obiektu2

najlepiej zrób to wszystko od nowa i wszystko kodem.

 

GML
1.

[obj_control -> create]: punkty = 100

[obj_control -> draw]: draw_text( 0, 5, string( punkty ));

 

[obj_strzalka_lewo-> left_pressed]: obj_control. punkty = punkty/2

[obj_strzalka_prawo-> left_pressed]: obj_control. punkty punkty*2

 

2.

[obj_button_OK-> left_pressed]:

i = instance_create( x, y, obiekt )

i. punkty = punkty

 

3. stołówka w mojej starej szkole :P

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