Skocz do zawartości

Utermiko

Użytkownicy
  • Postów

    796
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Utermiko

  1. Utermiko

    Linki :DD

    Tu masz krok po kroku jak zrobić aplikację okienkową w VC++ 2010. Bez angielskiego ani rusz niestety. http://msdn.microsoft.com/en-us/library/ms...4(v=vs.80).aspx *chamski *nie pomogło
  2. Utermiko

    Linki :DD

    http://lmgtfy.com/?q=windows+forms+c%2B%2B lub http://lmgtfy.com/?q=windows+forms+c%2B%2B+example
  3. @EDIT gnysek szybszy :P Do sprawdzania czy istnieje jest funkcja: GML if variable_local_exists(nazwa) { } if variable_global_exists(nazwaglobalnej) { }
  4. mouse_x to pozycja X myszki, a mouse_y to pozycja Y myszki. GML if mouse_x>10 && mouse_y>10 && mouse_x<50 && mouse_y<20 && mouse_check_button_pressed(mb_left) jeżeli pozycja myszki X jest większa od 10 ORAZ pozycja myszki Y jest większa od 10 ORAZ pozycja myszki X jest mniejsza od 50 ORAZ pozycja myszki Y jest mniejsza od 20 ORAZ czy wciśnięto lewy przycisk myszy
  5. 1. Sprawdzasz pozycję myszki GML draw_text(10,10,'heheheh'); if mouse_x>10 && mouse_y>10 && mouse_x<50 && mouse_y<20 && mouse_check_button_pressed(mb_left) { //akcja } 2. Dokumentacja: GML maxdlugosc=10; if string_length(keyboard_string)>maxdlugosc { show_message('Za dlugi string'); keyboard_string=''; } Dajesz w draw objektu GML draw_text(x,y,'twoj tekst'); i działa ;P x i y są zmiennymi, które posiada KAŻDY objekt. x odpowiada osi poziomej, a y oczywiście osi pionowej.
  6. create bohatera: GML rel=false; step bohatera: GML if rel=false && amunicja<=0 { rel=true; sprite_index=soldier_stop; alarm[0]=30; } alarm 0: GML amunicja+=30; rel=false sprite_index=soldier_strzal
  7. W create: GML pozwolenie=true; W naciśnięciu W dajesz: GML if pozwolenie=true { //twoj kod na skok } W global left button pressed: GML pozwolenie=false; W global left button released: GML pozwolenie=true;
  8. #include <iostream> using namespace std; int main() { int n; cout<<"Podaj N"<<endl; cin>>n; int w=1; while (w<=n) { w*=n; } cout<<"Najwieksza potrga calkowita liczby 2 wynosi: "<<w<<endl; system("pause"); return 0; } Powinno działać, nie sprawdzałem. Sito eratostenesa
  9. Eee... wtf? On pisał, że jeśli się spodoba to żeby umieścić to tu: https://gmclan.org/index.php?pliki=3
  10. Zauważ, że to nie jest edytor kodu tylko taki "translator" z klocków na kod.
  11. Heh, racja :P Mój błąd. Pomyliło mi się, bo ja zawsze robiłem w swoich grach strzelanie z pistoletu, a tu walka wręcz jest ^^
  12. To zrób tak jak ja napisałem, tylko kodu nie dawaj w obj_bohater w kolizji z obj_mob tylko daj w obj_mob w kolizji z obj_bohater
  13. Zadeklaruj w create potwora ilość jego hp (jako zmienną lokaną, nie globalną!) GML zyciemoba=100; Przy kolizji z graczem(w obiekcie moba): GML if global.dzialanie = 2 and distance_to_object(o_gracz) <= 10 && global.bron_mam = 1 && global.mhp = true{ mhp = false zyciemoba -= global.damage alarm[0] = 1.5 * room_speed } Wtedy zmienne damage, bron_mam, mhp muszą być zmiennymi globalnymi BTW. Ustawiłeś w alarmie[0] mhp=true?
  14. Chcę jeszcze dodać, że w Drawie kontrolera jest pewien bug (tak to jest jak się na szybko robi przykład^^)\ Zamiast GML switch(global.eq[j*wys+i,0]) Powinno być: GML switch(global.eq[j*szer+i,0]) Nie ma to znaczenia jeśli używasz plecaka co ma taką samą szerokość jak wysokość, ale w przeciwnym wypadku będą źle numerowane pola.
  15. A zazwyczaj ten "poważny" błąd to jakaś literówka w nazwie zmiennej lub działaniu którą szuka się godzinami^^
  16. A to było mówić od razu ;P A ja ci niepotrzebnie opisywałem całą pętle for, która jest identyczna jak w C++ ^^ @EDIT Skoro mówisz, że tyle już się uczyłeś pascala, c++ i delphi, to pisanie w GM'ie nie sprawi Ci chyba żadnych problemów ^^
  17. Pierwszy raz z GM'em się spotkałem chyba ze 2 lata temu. Pobawiłem się z pół roku i potem przerwa gdzieś na rok. A teraz wróciłem no i robię ;P Wszystkich funkcji z GM'a nie da się całkiem nauczyć. Po prostu trzeba umieć znaleźć odpowiednią funkcję (np. w dokumentacji) i ją wykorzystać. Poza tym trzeba logicznie myśleć jak się coś pisze, bo nie da się tego wykuć na pamięć. Musisz poznać oczywiście te wszystkie pętle itp. , żeby efektownie pisać :P
  18. Masz przykład, najprostszy bez zbędnych bajerów: https://gmclan.org/up8194_12_inv.html Pola w eq indeksują się w następujący sposób : obrazek Jak przetestować? Odpalasz w Debug mode(czerwona strzalka) Klikasz E żeby otworzyć eq Dajesz Tools>Execute code No i skrypt dodający itemy do plecaka to additem(iditemka,ilosc), dla przedmiotów nie-stackujących się daj w ilość 0 1 - miecz 2 - tarcza 3 - moneta (stackuje sie) Komentarze są ;) PS Testowałem tylko dla inwentarza o rozmiarze 5x5 @EDIT Myślę, że mechanizm podnoszenia/wyrzucania przedmiotów już sobie sam zrobisz bo to chyba najłatwiejsza część (dodawanie przedmiotów już jest [additem(...)]) :P
  19. Jeśli znajdę czas to się postaram :P
  20. Jeśli chodzi o naukę, to gorąco polecam megatutorial Karola Kuczmarskiego "Kurs C++ Od Zera Do Gier Kodera"
  21. Wiem :P Ja lepszych początków sam nie miałem więc nie masz się czego wstydzić ^^ A wracając do tematu, zadziałała zmiana indeksu tablicy z 36 na 3 ?
  22. Wydaje mi się, że koleś po prostu popełnił błąd w tutku i zamiast 3 napisal 36: Zamień na: GML if (global.inventory[1,3] <> noone) {draw_sprite(global.inventory[1,4],global.inventory[1,4],view_xview[0]+920+24+(32*0),view_yview[0]+431+31+(32*0));} if (global.inventory[2,3] <> noone) {draw_sprite(global.inventory[2,4],global.inventory[2,4],view_xview[0]+920+24+(32*1),view_yview[0]+431+31+(32*0));} if (global.inventory[3,3] <> noone) {draw_sprite(global.inventory[3,4],global.inventory[3,4],view_xview[0]+920+24+(32*2),view_yview[0]+431+31+(32*0));} if (global.inventory[4,3] <> noone) {draw_sprite(global.inventory[4,4],global.inventory[4,4],view_xview[0]+920+24+(32*3),view_yview[0]+431+31+(32*0));} if (global.inventory[5,3] <> noone) {draw_sprite(global.inventory[5,4],global.inventory[5,4],view_xview[0]+920+24+(32*0),view_yview[0]+431+31+(32*1));} if (global.inventory[6,3] <> noone) {draw_sprite(global.inventory[6,4],global.inventory[6,4],view_xview[0]+920+24+(32*1),view_yview[0]+431+31+(32*1));} if (global.inventory[7,3] <> noone) {draw_sprite(global.inventory[7,4],global.inventory[7,4],view_xview[0]+920+24+(32*2),view_yview[0]+431+31+(32*1));} if (global.inventory[8,3] <> noone) {draw_sprite(global.inventory[8,4],global.inventory[8,4],view_xview[0]+920+24+(32*3),view_yview[0]+431+31+(32*1));} Jeśli to nie pomoże to nie wiem. Ogólnie to nie lubię korzystać z ekwipunku, etc. innego niż mojego autorstwa bo się gubię. Jak swój napiszę to wiem o co biega wszędzie :P Oczywiście można tą ilość kodu zmniejszyć pętlą for :D
  23. Niestety po tym co napisałeś, ciężko wyłapać gdzie jest błąd ;/ Najprawdopodobniej przekroczyłeś granicę tablicy(pewnie nie zadeklarowałeś) Daj to, gdzieś w evencie Game Start: GML //pod q i w podstaw rozmiar tablicy q=30; w=40; for(i=0;i<=q;i+=1) for(j=0;i<=w;j+=1) global.inventory[i,j]=0;
  24. Musisz zrobić 2 sprity. spr_lew i spr_prawo wraz z animacją. w evencie keyboard left pressed GML sprite_index=spr_lewa; image_speed=0.2; w evencie keyboard left released GML sprite_index=spr_lewa; image_speed=0; image_index=0; To samo dla prawej strony.
×
×
  • Dodaj nową pozycję...