Skocz do zawartości

Hanjuso

Użytkownicy
  • Postów

    393
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Hanjuso

  1. instance_number(nazwa_obiektu)
  2. To jestes uzalezniony od komputeraz i musisz powinienes sie leczyc ;p
  3. Cos tu jest nie tak. Zaszyfrowalem plik (rar), sprawdzilem, nie dziala. Proboje go odszyfrowac, dalej nie dziala. Potem jeszcze dwukrotnie probowalem odszyfrowac i tez nic. Plik nie byl mi potrzebny wiec chcialem go wyrzucic. A tu (za przeproszeniem) dupa! 'plik jest uzywany przez inna osobe lub program'. Odpalam taskmanagera (alt+ctrl+del) a tam 3 programy xorenscryptor po 14mb ramu kazdy. Mysle ze tak nie powinno byc.
  4. if point_distance(x,y,X_miejsca_w_ktorym_jest_dzwiek,Y_miejsca_w_ktorym_jest_dzwiek) <odleglosc { // odtworzenie dzwieku }
  5. Rzeczywiscie, nawet nie wiedzialem o takim ulatwieniu w gm Jezeli deklarujesz zmienna w innym roomie, to poprzedz nazwe zmiennej 'global.' (global.postac [lub uzyj obiektu z persistent ale mysle ze nie jest ci to potrzebne]). Wtedy kiedy sie odwolujesz do zmiennej musisz rowniez napisac przedrostek 'global.' . Kod bedzie wygladal tak: draw_text(x,y,'Postac: '+string(global.postac)) Odrazu podalem z napisem, to co napisal Mif@
  6. Dark Maximalu, jezeli zmenna bedzie liczba, to draw_text jej nie wyswietli. Nalezy liczbowa wartosc zmiennej zamienic na wartosc textowa, uzywajac funkcji string(). draw_text(x,y,string(nazwazmiennej))
  7. Zpowolnienie moze wygladac rownie dobrze w grach 2d. Trzeba to tylko odpowiednio obrobic zeby bylo cos wiecej niz tylko powolne poruszanie sie obiektow. Przykladem jest gra crimsonland. Co do spowolnienia to zmniejszanie room speed spowoduje tylko zmniejszenie fps, i wtedy gra chodzi mniej plynnie. Lepiej zrobic zmienna np. szybkosc i wtedy przy kazdej zmianie predkosci/przesuwaniu obiektow dodawac *szybkosc (speed=5*szybkosc/x+=5*szybkosc). Szybkosc gry regulowalo by sie ta zmienna ustawiajac jest wartosc miedzy 0 a 1. Da to lepszy efekt.
  8. Trywialne, jezeli kolizje masz u przeciwnika z pociskiem to trzeba dac cos w tym stylu: hp-=25 with(other) { instance_destroy() } if hp<=0 { instance_destroy() } a jezeli w pocisku z przeciwnikiem to tak: with(other) { hp-=25 if hp<=0 { instance_destroy() } } instance_destroy() pewnie miales w pociku i with(obj_przeciwnik) i wtedy odnosilo sie to do wszystkich przeciwnikow
  9. sound_add powinno byc w tylko 1 raz wykonane, czyli najlepiej w create dac, a sound_play to chyba wiadomo. Sound does not exists znaczy, ze nie znalazlo dzwieku, plik 1.mp3 musi byc w tym samym folderze co gra. To dziala, sprawdzalem u siebie. Maximal@ nie trzeba, pozniewaz kod sound_add wlasnie tworzy nowy dzwiek o nazwie 'dzwiek'
  10. To: if (object1.x < x + 100) and (object1.x > x - 100) and (object1.y < y + 100) and (object1.y > y - 100) mozesz skrocic uzywajac funkcje point_distance if point_distance(x,y,object1.x,object1.y) < 100 A alarm sie nie uruchamia poniewaz ten kod jest w step, i jezeli widzi=1 to co klatke alarm[0] na nowo ustawia sie na 50. Musizs przed alarm[0]=50 napisac warunek, czy alarm nie jest odliczany if alarm[0]=-1 then alarm[0]=50
  11. Musisz po wykryciu do widzi=1 dopisac patrol=0 i dziala Jakim@ to jest jak najbardziej logiczne, pomylily ci sie znaki ">" z "<"
  12. Tak jak tu jest podane, to dziek jest dodawany, ale jak wtedy sie do niego odwolac? powinno byc tak: create dzwiek=sound_add(working_directory+"\1.mp3",0,true) i wtedy mozna wlaczyc dzwiek sound_play(dzwiek) A co do odtwarzania bez dodawania to gdzies kiedys na forum widzialem jak to zrobic ale nie pamietam jaka to byla funkcja.
  13. wydaje mi sie ze funkcja ord() nie obsluguje '/', zamisat ord('/') napisz / w kodzie ASCII czyli 191, ma to wygladac tak: if keyboard_check_pressed(191) { sound_play(X) } P.S. Jezeli chcesz sprawdzic kod ASCII dla innych klawiszy to mozesz wstawic w draw draw_text(10,10,string(keyboard_lastkey)) wtedy w pozycji 10 10 na ekranie bedzie sie wyswietlal kod ASCII ostatnio wcisnietego klawisza
  14. bycmoze masz wlaczenie animacji w 'any key' czyli kiedy wcisnie sie dowolny klawisz co do sprita to owszem, starczy tak jak napisales, ale jagbys chcial np obrocic sprita i ktos by ci napisal zebys uzyl image_angle, to nic by to nie dalo, i znowu bys przylecial na forum ze nie dziala :P EDIT. any key to byla tylko sugestia, bez kodu nic moge zrobic
  15. on jest, tylko ze jezeli obiekt ma cokolwiek w draw to jego sprit nie rysoje sie domyslnie. Jezeli chcesz zeby obiekt mial sprita tak, jagbys niedal nic w draw to wrzuc tam cos takiego: draw_sprite_ext( sprite_index , image_index ,x,y,image_xscale,image_yscale,image_angle,image_blend,image_alpha)
  16. musisz w zmiennej zapisac room ale nie jako string np. global.pokoj=room1 i wtedy powinno zadzialac room_goto(global.pokoj)
  17. tutaj masz link do przykladu jak to zrobic, zrobiony przez ThatGamesGuy
  18. @marmot Tez kiedys tak robilem, ale to nie wydajne ;p Zamien y=y-2 na y=max(y-2,0) oznacza to ze y przybierze wartosc wiekszej liczby: y-2(przyszla pozycja obiektu) lub 0 czyli krawedz roomu. Analogicznie zrob do reszty. PS. zamiast y=y-2 mozna pisac szybciej y-=2 PS2. po co jest to x=x+0 skoro to nic nie robi :blink: czyste marnotractwo
  19. ten warunek if moc... lepiej dac w kolizji nie w step, zwiekszy to wydajnosc
  20. to zalezy, jak masz zrobione poruszanie sie tego obiektu. Jezeli masz zrobione direction=x speed=x to wystarczy wpisac tam speed=0, ale jezeli masz porusznaie sie zrobionie np. x-=5, to wtedy tak nie zadziala. Nalezy wtedy wpisac np. x=10 albo x=xprevious(nie zawsze dziala jak nalezy) lub w ruchu obiektu dac zamiast np. x-=5 tylko x=max(x-5,10) zeby obiekt nie mogl miec x ponizej 10
  21. @grygorz jezeli myszka ci wychodzi poza okno gry to chyba masz jakas wielka rozdzielczosc, sproboj na mniejszej. U mnie przy 1152x864 sie miesci. 'groza w polu' :lol: to chyba nie dla mnie
  22. O przepraszam, nie dokladnie przeczytalem, Tobie chodzi zeby nie bylo mozliwe wcisniecie esc. Nie mozna tego zrobic, ale mozna zabezpieczyc przed czyms takim i wyswietlac te okno tak dlugo, az gracz wybierze ktoras z odpowiedzi. Mozesz to zrobic mniejwiecej tak: var odp; do { odp=show_message_ext('pytanie','tak',-1,'nie') } until (odp!=0)
  23. wystaczy spojrzec do helpa show_message_ext(str,but1,but2,but3) Displays a dialog box with the string as a message and up to three buttons. But1, but2 and but3 contain the button text. An empty string means that the button is not shown. In the texts you can use the & symbol to indicate that the next character should be used as the keyboard shortcut for this button. The function returns the number of the button pressed (0 if the user presses the Esc key). @ znaczy to, ze przycisk nie bedzie wyswietlany, jezeli nie wpiszerz nic w nazwie ('' lub -1) @znaczy to, ze jezeli gracz wcisnie esc to funkcja zwroci zero
  24. Ja kiedys zrobilem przyklad bijatyki (ubogi). Tu jest link do niego EDIT chyba powinem najpierw to sprawdzic bo zauwazylem ze on jest na klockach robiony ( troche stary ) i chyba sie zbytnio nie przyda :/
  25. >link< Jest jeden problem, jak najpierw nagram np 100 klatek, potem na nowo bede nagrywac i nagram 50 a nastepnie odtworze to idzie pierwsze 50 klatek z tego nowego nagrania a potem konczy sie 50 klatek z pierwszego nagrania. Nie bardzo wiem jak temu zapobiec Juz sobie z tym poradzilem
×
×
  • Dodaj nową pozycję...