Skocz do zawartości

Zakol

Użytkownicy
  • Postów

    362
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Zakol

  1. Moje uwagi: 1. Daj obsluge '#'. 2. Po wpisaniu dluzszego tekstu jest on dzielony na czesci zeby zmiescil sie w oknie. Jezeli wystapi blad - np. funkcja nie znaleziona - podana komenda zmienia kolor na czerwony, ale tylko 1 linijka podzielonego tekstu, bo reszta zostaje biala. 3. Dobrze by bylo gdyby program zapamietywal, np. do 10 ostatnich komend. 4. Polskie znaki - albo dodaj ich obsluge, albo usun spacje ktore je zastepuja.
  2. '>=' oznacza 'wieksze lub rowne'; '>' oznacza 'rowne'. Heh. @marmot:zonk :P
  3. collisionObject = collision_circle(x, y, 16, mon1, true, 1); if (collisionObject) { if (collisionObject.pack > 0) { alarm[0] = 2; leci = 0; } }
  4. ęłęó// Zmienne do edycji objectTarget = nazwa_obiektu; // obiekt docelowy objectSolid = nazwa_obiektu; // obiekt do ominiecia objectSpeed = 5; // szybkosc poruszania sie cellSize = 50; // wielkosc 1 komorki siatki po ktorej obiekt sie porusza spriteUp = sprite_do_gory; // sprite w ruchu do gory spriteRight = sprite_w_prawo; // sprite w ruchu w prawo spriteBottom = sprite_na_dol; // sprite w ruchu na dol spriteLeft = sprite_w_lewo; // sprite w ruchu w lewo // Zmienne systemowe if (!variable_local_exists('objectDirection')) { x = round(x / cellSize) * cellSize; y = round(y / cellSize) * cellSize; objectCollision = 0; objectDirection = 0; objectX = x; objectY = y; } // Jezeli obiekt dotarl do punktu kontrolnego if (x == objectX && y == objectY) { // Ustalenie kierunku docelowego objectCollision = 0; objectDirection = round(point_direction(x, y, objectTarget.x, objectTarget.y) / 90) * 90; // Sprawdzenie kolizji z solid while ((collision_line(x, y, objectX, objectY, objectSolid, 1, 1) || objectCollision == 0) && abs(objectCollision) < 3) { // Wyznaczenie punktu kontrolnego objectX = x + sin(degtorad(objectDirection + 90)) * cellSize; objectY = y + cos(degtorad(objectDirection + 90)) * cellSize; // Obliczenie opcjonalnego kierunku objectCollision = (objectCollision + sign(sign(objectCollision) + 1)) * -1; objectDirection += objectCollision * 90; } } // Zmiana sprite switch (((sign(objectX - x) + 1) * 10) + (sign(objectY - y) + 1)) { case 10: {sprite_index = spriteUp; break;} case 12: {sprite_index = spriteBottom; break;} case 1: {sprite_index = spriteLeft; break;} case 21: {sprite_index = spriteRight; break;} } // Przemieszczenie obiektu x += sign(objectX - x) * min(objectSpeed, abs(x - objectX)); y += sign(objectY - y) * min(objectSpeed, abs(y - objectY)); Dodam jeszcze, ze calosc mozna zrobic prosciej, w 3 linijkach, uzywajac Motion Planning. EDIT: naprawiem sprity i zmienilem omijanie na podany konkretny obiekt (mozna skorzystac z parentow); zeby omijac solidy trzeba by petla przeleciec wszystkie pixele od aktualnego obiektu do punktu kontrolnego w poszukiwaniu solidow, ale tego juz mi sie nie chce pisac ;p
  5. objectTarget = nazwa_obiektu; // obiekt docelowy objectSpeed = 7; // szybkosc poruszania sie cellSize = 50; // wielkosc 1 komorki siatki po ktorej obiekt sie porusza if (!variable_local_exists('objectDirection')) { x = round(x / cellSize) * cellSize; y = round(y / cellSize) * cellSize; objectDirection = 0; objectX = x; objectY = y; } if (x == objectX && y == objectY) { objectDirection = round(point_direction(x, y, objectTarget.x, objectTarget.y) / 90) * 90; objectX = x + sin(degtorad(objectDirection + 90)) * cellSize; objectY = y + cos(degtorad(objectDirection + 90)) * cellSize; } x += sign(objectX - x) * min(objectSpeed, abs(x - objectX)); y += sign(objectY - y) * min(objectSpeed, abs(y - objectY));
  6. W stepie if (global.tura == 1) { x = 10;// cos, np. zmiana x objektu na 10... }
  7. O, lol a co chcesz osiągnąć? Masz błąd w składni powinno być if (<warunek>) { <akcja> } czyli np. if (global.weapon=0) { draw_sprite(spr_rewolwer,direction/16,x,y); }
  8. Zakol

    Gmclanowicz Tygodnia

    Tymon. Nie zdążył pomóc, ale liczą się intencje.
  9. http://www.gmclan.org/up330_11_sprite_editor.htmlUstaw 'room_admin' jako 1 pokój w hierarchii. Uruchom grę. Narysuj mapę dla sprite'a:Dodawanie piksela - lewy przycisk myszy; Usuwanie piksela - prawy przycisk myszy; Cofnięcie ostatniej zmiany - spacja; Zapisanie zmian i wyjście z gry - escape; Zapisz mapę i opuść grę. Ustaw 'room_game' jako 1 pokój w hierarchii. Uruchom grę. Wybierz zapisany wcześniej plik mapy.
  10. Możliwe, ale musiałby rozbić sprita kodem na piksele, które wchodzą w skład nóg, zmieszać (zmienić?) kolor każdego piksela na wybrany i na koniec np. surfacem podmienić oryginalny sprite. Czyli, albo skorzysta z dll'a (chyba, że sprite będzie b. mały, wtedy można powalczyć GM'em), albo rozbić sprite ręcznie na części ciała (później można ewentualnie poskładać go w całość surfacami lub sprite_create_from_screen).
  11. sprite_set_offset(sprite, x, y);
  12. Do *.bat i w wierszu poleceń. Co do tematu to troche prymitywny wirus, już lepiej poszperać w *.ini i rejestrze.
  13. Dobrze rozumiem, chcesz otworzyć (`załadować`) plik z neta, bez ściągania go na komputer? Jeżeli chcesz zabezpieczyć pliki przed nieuprawnionym dostępem, lepiej zaszyfruj je i dołącz do gry. Ściąganie tych samych plików z neta przy każdym odpalaniu gry jest bez sensu.
  14. global.obj_bad_x = x; global.obj_bad_y = y; global.obj_bad_id = id; global.obj_bad_move = false; with (bad) { if (id != global.obj_bad_id && y == global.obj_bad_y && x >= global.obj_bad_x && x <= global.obj_bad_x + 30) global.obj_bad_move = true; } if (global.obj_bad_move) { hspeed = -10; vspeed = 0; }
  15. http://www.gmclan.org/up330_11_chodzenie.html
  16. if (abs(hero.x - x) > 300) instance_destroy(); Ha! 3>
  17. To napisz skrypt, ktory w pętli przeleci wszystkie pixele sprita, zamieniajac te ktore trzeba na inny kolor.
  18. Rok temu zrobilem na swieta podobna gre i tez mialem ogromny problem z tym algorytmem KLIK. W koncu napisalem metode brute force, ktora po pojawieniu sie kolejnej kulki sprawdza cale zestawienie w poszukiwaniu kompletu kulek tego samego koloru. Dlaczego tak? Usuniecie kulek jednego koloru nie stanowi wiekszego problemu. Trudnej napisac skrypt, ktory usunie `kulki odczepione od sufitu w wyniku skasowania jednokolorowego kompletu` (racja, skomplikowane :P) Bardzo pamieciozerne wyjscie i ogolnie poroniony pomysl, ale nie bylo czasu zeby sie z tym bawic... @Mic: nie zgodze sie z toba, ale dzieki =p
  19. Zakol

    HTML

    <img alt="new" scr="news.JPG"> SRC, nie SCR EDIT: Bywa.. =P
  20. Jeżeli daleś kod w Stepie lub Drawie to bedzie wykonywany co 1 klatkę. Daj go w Create lub ogranicz częstotliwość wykonywania zmienną, np. [create] do_it = 1; [step] if (do_it) { //kod do_it = 0; }
  21. Sprawdź czy w we wszystkich sprite'ach obiektu Hero masz `origin` w tym samym miejscu na ciele bohatera (opcje sprite'a).
  22. To żeś mu pomógł... if (score >= 1000) show_message('Wygrałeś!');
  23. I. Regulamin II. Opcja 'Szukaj' na forum.
  24. if (ciastka > 28 && ciastka < 40) E: @Nicolas, nie pozwala :P
×
×
  • Dodaj nową pozycję...