Skocz do zawartości

ZeroXbot

Użytkownicy
  • Postów

    717
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez ZeroXbot

  1. ZeroXbot

    Olympus Mons

    Też podoba mi się projekt :) Na razi mogę się przyczepić do dwóch rzeczy: 1. Grafiki, niektórych rzeczy do siebie nie pasują. 2. Waga się nie zmienia w zależności od grawitacji tylko ciężar ciała, czyli chodziło Ci chyba o 300 N na Ziemi i 150 N na Marsie :D
  2. Po instance_destroy trzeba też dać "()", bo to funkcja. Pokaże tu też użycie za pomocą "normalnych" zmiennych GML //create hp=100; //step if(hp<=0) then instance_destroy(); //kolizja z pociskiem hp-=<ileś>;
  3. obj_klocek1_1.x czyli, błąd musi być przy instance_create. Na pewno ten obiekt (...klocek1_1) jest stworzony przed wykonaniem warunku? ED: GML {midblok=0 if !midblok {instance_create(obj_klocek1_1.x,obj_klocek1_1.y,obj_klocek1_5) instance_create(obj_klocek1_2.x,obj_klocek1_2.y,obj_klocek1_5) instance_create(obj_klocek1_3.x,obj_klocek1_3.y,obj_klocek1_5) instance_create(obj_klocek1_4.x,obj_klocek1_4.y,obj_klocek1_5) instance_deactivate_object(obj_klocek1_1) instance_deactivate_object(obj_klocek1_2) instance_deactivate_object(obj_klocek1_3) instance_deactivate_object(obj_klocek1_4) y=0 midblok=1 } } Czemu służy ten kod? :o
  4. Jeżeli podasz obiekt to niszczy to wykonuje kod w with u wszystkich jego instancji. Jeżeli podasz id konkretnej instancji tylko w niej się ten kod wykonuje. Teraz w zależności co chcesz osiągnąć musisz wybrać co będzie odpowiednie.
  5. Trzeba zamienić zmienną na string funkcją string(var). Później można dodawać :)
  6. Wojo: Głupoty gadasz. Niby łatwiej, ale później z trudniejszymi rzeczami będzie problem i "nauka GMa od nowa". Robisz tak: GML //gracz create klucz=0; //kolizja z kluczem klucz=1; //kolizja z drzwiami if(klucz==1) { with(other) { instance_destroy() }; klucz=0; }
  7. Skoro tak, to czemu "definiujesz" typy zmiennych potrzebnych dla GMa? W sumie i tak ich nie używasz, ale tymbardziej nie powinny tu być z tego powodu. Następnie definiujesz export, a to chyba jest potrzebne dla Dlli do GMa (na 50% pewne). Na koniec pomijając nawet to powyższe, musze powiedzieć, że to silnikiem, a nawet minisilnikiem nie jest pojedyncza klasa. Może gdyby była jakoś bardzo rozbudowana, ale twoja to kilka zmiennych, funkcje ich zwracania i aktualizacja składająca się z kilku prostych obliczeń. Są też jakieś opisane przypadki działań pomiędzy obiektami, w czym kompletnie sensu nie widzę. Pracuj dalej.
  8. Jakbym mógł to bym go zobaczył tyle, że na tym kompie nie mam GMa. Sprawdziłeś to co napisałem wcześniej? Jeżeli to nie jest ten problem to opisz mi obiekt z punktami.
  9. Nie wiedziałem przykładu, ale powód może być taki: Obiekt liczący punkty jest tworzony co room i zeruje punkty (rozwiązanie: ustawić mu persident. Powinien to byc jakiś inny obiekt niż gracz i zmienne te powinny być globalne dla łatwiejszego korzystania z nich) :) PS: I nie pisz dwóch postów pod rząd ;)
  10. Jak macie problem to piszcie dokładnie, bo ja przynajmniej nie czytam w myślach :) Dam Ci cały kod, bo nie chcę mi się tłumaczyć :P GML //create kierunek=0; //0-prawo, 1-lewo //step if(/*warunek wuszania w prawo jaki tam masz*/) { kierunek=0; //inne akcje } else if (/*warunek wuszania w lewo jaki tam masz*/) { kierunek=1; //inne akcje } if(keyboard_check_pressed(/*klawisz strzalu*/)) { p=instance_create(x,y,pocisk) p.direction=kierunek*180; p.speed= //jaks tam wartosc predkosci } :)
  11. Nie rozumiem, co chciałeś dopowiedzieć swoim postem :P Mój chyba był wystarczająco zrozumiały :P ale skoro się już tak bawimy w tłumaczenie to image_xscale/yscale to skalowanie sprite'a w poziomie/pionie. 1 to wartość normalna, 2 to dwa razy większa, 0.5 o połowę mniejsza, a ujemne to już odbite w poziomie/pionie.
  12. Hmm... nie jestem pewien, ale o ile znasz współrzędne środka prostokąta, można to zrobić tak: GML //w o1 var dir,dis dir=point_direction(x,y,srodekprostokatax,srodekprostokatay); dis=point_distance(x,y,srodekprostokatax,srodekprostokatay); x+=lengthdir_x(dir,dis) + lengthdir_x(dir+obrot +180,dis) y+=lengthdir_y(dir,dis) + lengthdir_y(dir+obrot +180,dis) Nie jest to najlepsze rozwiązanie, ale powinno działać(chyba że się pomyliłem z kolejnością argumentów w lengthdirach) Polega na tym, że teoretycznie przenosi obiekt do środka prostokąta, a następnie do miejsca docelowego o kąt "obrot" :) ED: Dodałem jeszcze "+180" do argumentów, bo w przeciwnym razie przenosiłby na stronę przeciwną do docelowej :P ED2: Na pewno da się to zrobić za jednym zamachem tylko nie pamiętam jak obliczało się odległość pierwiastek(a^2+b^2) * sin(alfa) ?? coś kojarzy mi się, ale to tylko skojarzenie :P Chyba to jest prawidłowe: a^2 + b^2 - 2ab * cos(alfa) Czyli skoro dis jest cały czas takie same to by wychodziło chyba 2(a^2) - 2(a^2) * cos(obrot)
  13. Odwracasz image_xscale lub image_yscale np. GML image_xscale*=-1 //odbicie w poziomie</span>
  14. Jakiej grafiki? Pixelart? Jest cała masa tutoriali, ale tu chodzi głónie o to aby ćwiczyć. Dużo linków do tutoriali jest na www.pixeljoint.com
  15. Takie rzeczy dawaj w draw, a najlepiej by było jakbyś te wszystkie paski i tło władował w jeden obiekt :)
  16. Tyle, że język programowania, czy skryptowy, a program to co innego. Will dobrze odpowiedział na twoje pytanie. Takie coś można napisać w każdym programie, a tu nie chodzi o rodzaj programu tylko o rodzaj języka chyba nie? ;) A jak już znasz język to można poszukać do niego środowisk, kompilatorów, czy co to tam jeszcze jest ;P
  17. Tak jak mówiłem. Jak nie podasz dokładnie kodu jakiego masz to Ci nie pomożemy. Szczególnie interesuje mnie ten skrypt g.score1
  18. Vadeuru: On ma tak napisane, czy ma napisać? Jak ma napisać to jest źle. Powinno być tak: "x1" - view_xview "y1" - view_yview "x2" - view_xview+128 "y2" - view_yview+32
  19. CTRL: Po aktywacji, wszystkie instancje są tam gdzie były i z takimi wartościami zmiennych jakie były, więc ten jest niemalże świetny ;) Niemalże, bo w nawias trzeba wstawić 1(true) :P A do tego dać zmienną, czy ma drawować menu. GML //create on=0; //step if(keyboard_check_pressed(vk_esc)) { if(on==0) { instance_deactivate_all(1); on=1; } else { instance_activate_all(); on=0; } } //draw if(on==1) { //rysowanie }
  20. Zrobiłeś, ale jak? To są jakieś zmienne, czy coś? Jak dodajesz punkty? ch3matic: Nie wiesz jak zrobił, a odpowiadasz i później nie będzie mu działać :|
  21. A możesz podać jak teraz napisałeś? Bo ciężko znaleźć inne wytłumaczenie, od złego wpisania. Powinno działać :|
  22. Bo wszędzie ustawiłes view_xview. Dla y1 i y2 musisz dać view_yview ;)
  23. Cytat z Minepedii http://www.minecraftwiki.net/wiki/Server
  24. Duże surface'y też mulą. A zawsze można wyświetlać, tylko te aktualnie w polu widzenia.
×
×
  • Dodaj nową pozycję...