Pręcik
-
Postów
41 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Odpowiedzi opublikowane przez Pręcik
-
-
Nawet jeżeli wyłączę global.przycisk obiekt przesunie się w jedną stronę (np. w lewo o 225 i się zatrzyma) ale po przeniesieniu naciśniętej myszki na drugą stronę obiektu obiekt nie przesunie się w drugą stronę (np. w prawo o 225 )
-
Chciałem żeby przebyły ten dystans i się zatrzymały, a przechodząc kursorem na drugą stronę obiektu by znów się przesunął o 225 i zatrzymał tylko w przeciwną stronę (wrócił na swoje poprzednie miejsce).
-
A więc ediepl twój kod działa dosłownie tak samo jak ten mój na samej górze, czyli obiekt przeskakuje z pozycji x=450 gdy myszka jest po lewej stronie do pozycji x=3150 gdy myszka jest po prawej stronie. I am Lord po wpisaniu twojego kodu obiekty robią dokładnie to samo tylko co 225 się na chwilkę zatrzymują
-
Klamerki też poprawiłem :D :D :D
-
Wiem :D dodałem, i tak nic z tego. Wcześniej już kombinowałem z tego typu zmienną...
-
Było by nawet lepiej gdyby tak było ;)
-
Niestety ale nie działa <_<
-
Ta zmienna się wyłącza, tylko w innym evencie. Próbowałem do tego kodu dodać inną zmienną, która by zatrzymywała ten ruch, ale wtedy niestety podczas jednego przytrzymania myszki mogłem przesunąć obiekt tylko w jedną stronę na której był kursor .
-
Tylko problem w tym, że zmienna global.przycisk nie miała zatrzymywać tego stepu. Global.przycisk = 1 gdy powiedzmy w uproszczeniu jest naciśnięty lewy przycisk myszki. Chciałem by myszka kiedy jest naciśnięta i jest po lewej stronie obiektu przesunął się w prawo, a gdy jest po prawej żeby przesunął się w lewo ( i to podczas jednego przytrzymania myszy).
-
no i chce właśnie tam włączyć
-
kurcze sorki :D przed skopiowaniem usunąłem inne komendy ale z tego co mówisz to najwyraźniej popełniam ten pierwszy błąd.
GMLrepeat(14){
if global.b=1
{
ds_list_sort(global.ddd1,true)
if !ds_list_empty(global.ddd1)
{
if global.k < ds_list_find_index(global.lista_d,ds_list_find_value(global.ddd1,0))+2
{
with(dzwonek)
if image_index=ds_list_find_value(global.ddd1,0)
{
instance_destroy()
action_kill_position(1500,800)
ds_list_delete(global.ddd1,0)
alarm[2]=15
if position_empty(1500,800)
{
repeat(ds_list_size(global.burdel))
{
ds_list_add(global.ddd1,ds_list_find_value(global.burdel,0))
ds_list_delete(global.burdel,0)
ds_list_sort(global.burdel,true)
}
}
ds_list_sort(global.ddd1,true)
}
}
else
{
ds_list_add(global.burdel,ds_list_find_value(global.ddd1,0))
ds_list_delete(global.ddd1,0)
}
}
}
}
//////////////////////////////////////////////////////////////////
repeat(14)
{
if global.b=2
{
ds_list_sort(global.sss1,true)
if !ds_list_empty(global.sss1)
{
if global.k < ds_list_find_index(global.lista_s,ds_list_find_value(global.sss1,0))+2
{
with(dzwonek)
if image_index=ds_list_find_value(global.sss1,0)
{
instance_destroy()
action_kill_position(1500,800)
ds_list_delete(global.sss1,0)
alarm[2]=15
if position_empty(1500,800)
{
repeat(ds_list_size(global.burdel))
{
ds_list_add(global.sss1,ds_list_find_value(global.burdel,0))
ds_list_delete(global.burdel,0)
ds_list_sort(global.burdel,true)
}
}
ds_list_sort(global.sss1,true)
}
}
else
{
ds_list_add(global.burdel,ds_list_find_value(global.sss1,0))
ds_list_delete(global.sss1,0)
}
}
}
/////////////////////////////////////////////////////////////////////
repeat(14)
{
if global.b=3
{
ds_list_sort(global.www1,true)
if !ds_list_empty(global.www1)
{
if global.k < ds_list_find_index(global.lista_w,ds_list_find_value(global.www1,0))+2
{
with(dzwonek)
if image_index=ds_list_find_value(global.www1,0)
{
instance_destroy()
action_kill_position(1500,800)
ds_list_delete(global.www1,0)
alarm[2]=15
if position_empty(1500,800)
{
repeat(ds_list_size(global.burdel))
{
ds_list_add(global.www1,ds_list_find_value(global.burdel,0))
ds_list_delete(global.burdel,0)
ds_list_sort(global.burdel,true)
}
}
ds_list_sort(global.www1,true)
}
}
else
{
ds_list_add(global.burdel,ds_list_find_value(global.www1,0))
ds_list_delete(global.www1,0)
}
}
}
/////////////////////////////////////////////////////////////////////
repeat(13)
{
if global.b=4
{
ds_list_sort(global.zzz1,true)
if !ds_list_empty(global.zzz1)
{
if global.k < ds_list_find_index(global.lista_z,ds_list_find_value(global.zzz1,0))+2
{
with(dzwonek)
if image_index=ds_list_find_value(global.zzz1,0)
{
instance_destroy()
action_kill_position(1500,800)
ds_list_delete(global.zzz1,0)
alarm[2]=15
if position_empty(1500,800)
{
repeat(ds_list_size(global.burdel))
{
ds_list_add(global.zzz1,ds_list_find_value(global.burdel,0))
ds_list_delete(global.burdel,0)
ds_list_sort(global.burdel,true)
}
}
ds_list_sort(global.zzz1,true)
}
}
else
{
ds_list_add(global.burdel,ds_list_find_value(global.zzz1,0))
ds_list_delete(global.zzz1,0)
}
}
}
}
}
}
global.o=0
if global.k>0 and !position_empty(1500,800)
{
repeat(14)
if position_empty(2300,1050-global.o)
{
nowa_karta = instance_create(2300,1100-global.o,dzwonek)
nowa_karta.image_angle=90
nowa_karta.moj_numer = ds_list_find_index(global.lista, global.i)
nowa_karta.image_index = ds_list_find_index(global.lista, global.i)
global.i+=1
if global.i=55
{
with(object1)
sprite_delete(0)
exit
}
alarm[2]=15
exit;
}
else
{
global.o+=50
}
}
Tu jest poprawiony :)
-
Witajcie, mam alarm[1] w którym mam następujący kod:
GMLrepeat(14){
if global.b=1
{
ds_list_sort(global.ddd1,true)
if !ds_list_empty(global.ddd1)
{
if global.k < ds_list_find_index(global.lista_d,ds_list_find_value(global.ddd1,0))+2
{
with(dzwonek)
if image_index=ds_list_find_value(global.ddd1,0)
{
instance_destroy()
action_kill_position(1500,800)
ds_list_delete(global.ddd1,0)
global.k=0
global.b=0
repeat(ds_list_size(global.burdel))
{
ds_list_add(global.ddd1,ds_list_find_value(global.burdel,0))
ds_list_delete(global.burdel,0)
ds_list_sort(global.burdel,true)
}
ds_list_sort(global.ddd1,true)
}
}
else
{
ds_list_add(global.burdel,ds_list_find_value(global.ddd1,0))
ds_list_delete(global.ddd1,0)
}
}
}
}
//////////////////////////////////////////////////////////////////
repeat(14)
{
if global.b=2
{
ds_list_sort(global.sss1,true)
if !ds_list_empty(global.sss1)
{
if global.k < ds_list_find_index(global.lista_s,ds_list_find_value(global.sss1,0))+2
{
with(dzwonek)
if image_index=ds_list_find_value(global.sss1,0)
{
instance_destroy()
action_kill_position(1500,800)
ds_list_delete(global.sss1,0)
global.k=0
global.b=0
repeat(ds_list_size(global.burdel))
{
ds_list_add(global.sss1,ds_list_find_value(global.burdel,0))
ds_list_delete(global.burdel,0)
ds_list_sort(global.burdel,true)
}
ds_list_sort(global.sss1,true)
}
}
else
{
ds_list_add(global.burdel,ds_list_find_value(global.sss1,0))
ds_list_delete(global.sss1,0)
}
}
}
/////////////////////////////////////////////////////////////////////
repeat(14)
{
if global.b=3
{
ds_list_sort(global.www1,true)
if !ds_list_empty(global.www1)
{
if global.k < ds_list_find_index(global.lista_w,ds_list_find_value(global.www1,0))+2
{
with(dzwonek)
if image_index=ds_list_find_value(global.www1,0)
{
instance_destroy()
action_kill_position(1500,800)
ds_list_delete(global.www1,0)
global.k=0
global.b=0
repeat(ds_list_size(global.burdel))
{
ds_list_add(global.www1,ds_list_find_value(global.burdel,0))
ds_list_delete(global.burdel,0)
ds_list_sort(global.burdel,true)
}
ds_list_sort(global.www1,true)
}
}
else
{
ds_list_add(global.burdel,ds_list_find_value(global.www1,0))
ds_list_delete(global.www1,0)
}
}
}
/////////////////////////////////////////////////////////////////////
repeat(13)
{
if global.b=4
{
ds_list_sort(global.zzz1,true)
if !ds_list_empty(global.zzz1)
{
if global.k < ds_list_find_index(global.lista_z,ds_list_find_value(global.zzz1,0))+2
{
with(dzwonek)
if image_index=ds_list_find_value(global.zzz1,0)
{
instance_destroy()
action_kill_position(1500,800)
ds_list_delete(global.zzz1,0)
global.k=0
global.b=0
repeat(ds_list_size(global.burdel))
{
ds_list_add(global.zzz1,ds_list_find_value(global.burdel,0))
ds_list_delete(global.burdel,0)
ds_list_sort(global.burdel,true)
}
ds_list_sort(global.zzz1,true)
}
}
else
{
ds_list_add(global.burdel,ds_list_find_value(global.zzz1,0))
ds_list_delete(global.zzz1,0)
}
}
}
}
}
}
//OD TĄD DZIAŁA//
global.o=0
if global.k>0
{
repeat(14)
if position_empty(2300,1050-global.o)
{
nowa_karta = instance_create(2300,1100-global.o,dzwonek)
nowa_karta.image_angle=90
nowa_karta.moj_numer = ds_list_find_index(global.lista, global.i)
nowa_karta.image_index = ds_list_find_index(global.lista, global.i)
global.i+=1
if global.i=55
{
with(object1)
sprite_delete(0)
exit
}
alarm[2]=15
exit;
}
else
{
global.o+=50
}
}
i teraz kod działa tak jak bym chciał, ale alarm[2] się nie włącza w żadnym z tych kawałków kodu oprócz ostatniego (tego od napisu://OD TĄD DZIAŁA//). Dlaczego tak jest? Wiem, że kod działa tylko komenda alarm[2]=15 nie wiem dlaczego nie chce się uruchomić.
-
Po raz kolejny witam, skończyłem już moją grę na jednego gracza. Teraz chce zacząć pisać kod, który stworzy 3 sztucznych przeciwników i liczę na waszą pomoc. Nie spodziewam się, że sami za mnie to zrobicie (wręcz tego nie chce), chodzi mi o jakieś wskazówki jak zacząć, jak najlepiej to robić, jakich funkcji używać czy eventów. Od razu uprzedzam, że robię to pierwszy raz i mam zamiar to skończyć, a niestety jeszcze trochę wiedzy odnośnie Game Makera mi brakuje :D
-
-
dzięki wielkie :cheers:
-
Witam, cześć i czołem. Do rzeczy.... mamy obiekt z jakimś fajnym spritem i chcemy to tak jakby przykryć jakimś innym już mniej fajnym spritem, którego później jakąś funkcją można łatwo usunąć by znowu był tamten. Jak penie się już domyśliliście robię karcianke i chce zrobić ze karty przeciwnika są odwrócone, ale pod nimi kryją się jakieś inne sprity.
-
ok dzięki za pomoc :)
-
no tylko, że kiedy chce to sprawdzić funkcją sprite_exists nie wiem dlaczego nawet jak obraz nie jest stworzony a inne są czyta jak by istniał.
-
Ok dzięki :D Twój kod działa tylko dodaje wszystkie karty a nie tylko te które obecnie istnieją
-
razem z trzema jokerami jest 55 kart. Tylko za każdym razem jak używam image_index jest on równy wielu wynikom (55 czyli tyle ile obrazków kart). Trochę posiedziałem nad tym i napisałem taki kod
GMLj=0q=0
repeat(55)
{
repeat(55)
{
if ds_list_find_index(global.lista,j)= q
j+=1
{
if ds_list_find_value (global.lista, q)= 0 or 4 or 8 or 12 or 16 or 20 or 24 or 28 or 32 or 36 or 40 or 44 or 48 or 52
{
ds_list_add(global.lista_d,q)
}
else
{
if ds_list_find_value (global.lista, q)= 1 or 5 or 9 or 13 or 17 or 21 or 25 or 29 or 33 or 37 or 41 or 45 or 49 or 53
{
ds_list_add(global.lista_s,q)
}
else
{
if ds_list_find_value (global.lista, q)= 2 or 6 or 10 or 14 or 18 or 22 or 26 or 30 or 34 or 38 or 42 or 46 or 50 or 54
{
ds_list_add(global.lista_w,q)
}
else
{
if ds_list_find_value (global.lista, q)= 3 or 7 or 11 or 15 or 19 or 23 or 27 or 31 or 35 or 39 or 43 or 47 or 51
{
ds_list_add(global.lista_z,q)
}
q+=1
}
}
}
}
}
}
niestety nie wiem czy zrobiłem coś źle czy jest w nim jakiś błąd. Zawsze do listy global.lista_d dodaje się jakieś 7 tysięcy grafik.
-
Witam, a wiec tak w evencie start game obiekt tworzy innych 5 obiektów w taki sposób
GMLglobal.www=ds_list_create()global.sss=ds_list_create()
global.ddd=ds_list_create()
global.zzz=ds_list_create(
global.lista=ds_list_create()
ds_list_add(global.lista,0,1,2,3,4,5,6,7,8,9,10,11,12,13)
ds_list_add(global.lista,14,15,16,17,18,19,20,21,22,23,24,25,26,27)
ds_list_add(global.lista,28,29,30,31,32,33,34,35,36,37,38,39,40,41)
ds_list_add(global.lista,42,43,44,45,46,47,48,49,50,51,52,53,54)
randomize()
{
ds_list_shuffle(global.lista)
global.i = 0
global.o = 0
repeat(5)
{
nowa_karta = instance_create(950-global.o,1400,dzwonek)
nowa_karta.moj_numer = ds_list_find_index(global.lista, global.i)
nowa_karta.image_index = ds_list_find_index(global.lista, global.i)
global.i+=1
global.o+=200
}
}
i teraz chce zrobić coś takiego, że jeżeli obiekt dzwonek się stworzy to zależnie od tego jaki ma image_index dodaje go do jednej z 4 list (tych co są na samej górze kodu). Próbowałem już różnych kombinacji, ale niestety, żadna nie działała.
-
No to tak Panowie i Panie, mam obiekt który za pomocą funkcji choose tworzy z siebie jeden z czterech innych obiektów... natomiast te cztery obiekty mają w create taki kod:
GMLimage_speed=0co sprawia, że wybiera jeden z 13 image i teraz moje pytanie brzmi. Co zrobić by dany image stwarzał się tylko raz, nawet jak zostanie zniszczony albo jak będzie go tworzył inny obiekt.image_index=irandom(image_number)
Mam nadzieje, że rozumiecie o co mi chodzi :D
-
ok dzięki teraz działa
-
to są subimage i niestety nie działa, zamiast wybrać jakiś losowy przelatują z wielką prędkością :<
Zatrzymanie ruchu w stepie
w Pytania początkujących
Opublikowano
Trochę się namordowałem, ale w końcu mi się udało :D
{
x = lerp(x, newX, 0.3);
if newX>x { j-=1 }
if newX<x { j+=1 }
}
else
{
x = newX;
if mouse_x>x and global.przycisk=1 and j<1
{
if position_empty (x-450,y) and x-225>=450
{
newX = x-225;
j+=1
}
}
if mouse_x<x and global.przycisk=1 and j>-1
{
if position_empty (x+450,y) and x+225<=3150
{
newX = x+225;
j-=1
}
}
}
if global.przycisk=0
{
j=0
}
Wielkie dzięki za pomoc