
Rudy
Użytkownicy-
Postów
154 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez Rudy
- Poprzednia
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Dalej
-
Strona 7 z 8
-
Nie jestem pewien, ale czy nazwa rooma może zaczynać się od liczby?
-
Chciałeś być zbyt przykładny :) . Między warunkiem (to co po if), a klamrami nie ma być średnika.
-
GML step_dystans = point_distance(x,y,cel.x,cel.y) if(dystans<=(step_dystans/2)){direction-=2} else if(dystans>(step_dystans/2)){direction+=2} // ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // tutaj też musisz podzielić przez 2 tego tutaj już nie trzeba, jeśli pierwszy warunek się nie zgadza, drugi musi się zgadzać</span> Zakładam, że "dystans" ustalasz raz w Create. No i zmiana direction jest odpowiednio mała. Jeśli skręci więcej niż 90° nim doleci do połowy dystansu, to wróci i trafi w ciebie :D .
-
Top down, podążanie do kursora, zatrzymywanie sie przy nim?
Rudy odpowiedział(a) na ZyperPL temat w Pytania początkujących
Tak jak lechu napisał, dajesz to pod koniec step A jak nie działa, wpisz twój kod na sterowanie -
GML (Create) time=0; // tworzenie timera i ustawianie na 0 (gotowość)</span> GML (Step) if keyboard_check(vk_space) // czy spacja wciśnięta { if time>=0 time+=1; // jeśli nie wykonano jeszcze akcji, odliczaj if time>=5*room_speed // jeśli minęło 5 sekund { //akcja time=-1; // ustawianie timera na -1 (wykonanie akcji) } } else time=0; // jeśli nie wciśnięta spacja (czyli puszczono) zeruj timer (gotowość)</span> Teraz nie wykona ci się, puki drugi raz nie wciśniesz spacji, jeśli chcesz co pięć sekund, bierz ten kod: GML (Create) time=0; // tworzenie timera i ustawianie na 0</span> GML (Step) if keyboard_check(vk_space) // czy spacja wciśnięta { time+=1; // odliczaj if time>=5*room_speed // jeśli minęło 5 sekund { //akcja time=0; // zerowanie timera } } else time=0; // jeśli nie wciśnięta spacja (czyli puszczono) zeruj timer</span>
-
Ta stronka może pomóc: Kurs ddt Spróbuj zrobić tablicę bitmap, do każdej zapisz po jednym obrazku, potem definicja zmiennej image_index no i pododawaj wszędzie image_index=numer_obrazka
-
Więc to wina break. Przy dodawaniu najpierw zwiększało ilość w jednej komórce. break nic nie dawało, po prostu wychodziło z klamry, z której i tak by wyszło. Potem przechodziło do drugiej for i ponownie dodawało się (w końcu wciąż były wolne miejsca). Po dodaniu exit wychodziło się nie tylko z klamer, ale z całego kodu. Minusem jest tylko to, że nie po przejściu przez exit nie wykona nic więcej z tego klocka
-
Jeśli to wina break, zamień je na exit i sprawdź. No a jeśli to pierwsze... po dłuższym przemyśleniu to to chyba tak nie jest :) Miejmy nadzieję, że nie.
-
Jedyne co mi się nasuwa na myśl to to, że GM aktualizuje zmienne do innych obiektów dopiero po wykonaniu stepu. Czyli linią : baza.ido_plecak[a]=2 wcale nie zmieniasz wartości, ale tylko wysyłasz do GM info o tym, że ma się zmienić, a on to robi pod koniec stepa - jak już drugi item zostanie przydzielony. A może break nie działa jak należy... ma on wychodzić z pętli, czy z kodu? Jeśli z pętli to po dodaniu itemu, kontynuuje kod i dodaje się po raz kolejny (przechodzi do drugiego for). Takie moje przypuszczenia... :)
-
Czy po użyciu jakiegoś itemu ustawiasz komórkę, gdzie był ten item w plecaku na 0? (chodzi o ido_plecak, nie o ilosc_plecak, możliwe, że nie do końca ten item znika, zostawia po sobie jakiś ślad :) )
-
Ymmm... sprytnie :) Dziex wszystkim za pomoc i wyjaśnienie :thumbsup: To chyba jeszcze nie wszystko... Najpierw przedstawię wszystko, co dzieje się z tą tablicą: Tu był kodzik, ale jest już przestarzały :) Mimo iż przed WM_DESTROY musi być stworzone okno, kompilator tego nie przepuści. I jak tu coś takiego zrobić? Najlepiej byłoby jakoś zadeklarować powstawanie tablicy jako globalnej, przed wszystkimi funkcjami. Ale czy tak można? Tzn. czy można zadeklarować tablicę globalną (dynamiczną), i dopiero później przypisać jej, ile ma mieć miejsc? Ok, poradziłem sobie. Na początku deklaruję tylko wskaźnik, potem (po rozpoczęciu main) przypisuje jej tablice, na końcu main ją zwalniam.
-
A dynamiczna tablica może być dwuwymiarowa? Bo wyskakuje błąd, wnioskuję, że chodzi właśnie o to, że jest dwuwymiarowa, nie zwykła: kod: unsigned short value1 = 5; unsigned short value2 = 3; ... int *array = new int [value1][value2]; ... delete[] array; error: cannot convert `int (*)[10]' to `int*' in initialization
-
No właśnie, jak zadeklarować stworzenie tablicy, w której o ilości tych członów decyduje zmienna? czyli: unsigned short value1 = 5; unsigned short value2 = 3; ... int array [value1][value2]; przy czym między kropkami te zmienne mogą się zmienić.
-
będą uzupełnione, są to domyślne położenia plików. Twoim zadaniem będzie zweryfikowanie tych pól. Najpierw sprawdź, czy istnieje folder z kompilatorem (pierwsze pole). Jeśli tak, wejdź w tym folderze do folderu bin i sprawdź, czy każdy exe'k wpisany w następnych polach w C::B jest w tym folderze. Jeśli nie, musisz sobie załatwić potrzebne pliki (lub cały kompilator, jeśli go nie masz).
-
Yupi, yupi yey, działa :sp_ike: thx Will :D
-
Witam wszystkich forumowiczów! Mam pewien problem w WinAPI. Na początek przedstawię plik *.rc mojego projektu, ma to być okno dialogowe z paroma kontrolkami (działa poprawnie): #include "windows.h" IDD_TEXT DIALOG DISCARDABLE 160,160,216,85 STYLE DS_MODALFRAME | WS_SYSMENU | WS_VISIBLE CAPTION "Okno z polem tekstowym" FONT 8,"MS Sans Serif" { LTEXT "Ładny tekst okienka",IDTEXT,23,10,170,14 EDITTEXT IDTEXTBAR,38,35,140,14 DEFPUSHBUTTON "&OK",IDOK,28,60,75,14 PUSHBUTTON "&Anuluj",IDCANCEL,113,60,75,14 } Ten kod działa poprawnie, nie ma w nim żadnego błędu, IDD_TEXT, IDTEXT i IDTEXTBAR zostały wcześniej zdefiniowane. Z wyświetlenie też nie ma żadnego problemu, okno wygląda jak wyglądać powinno. W czym więc problem? A więc jak ktoś się wczytał, zauważył, że w oknie jest pole do wpisywania tekstu. Jak z niego pobrać wartość, którą wpisał użytkownik? Naturalnie jest funkcja GetWindowText, ale wymaga ona uchwytu do kontrolki, a skąd tu taką wytrzasnąć? Podsumowując: Jak załatwić uchwyt do kontrolki (hWnd) mając tylko jego identyfikator (mianowicie IDTEXTBAR)?
-
Hmmm... U mnie wszystko gra tak jak powinno. Wg mnie jest to jedno z poniższych blędów, sprawdź każdy 1. Problem z czcionką Czcionka, z której korzystasz obsługuje tylko zwykłe, niepowiększane znaki. Rozwiązanie: Spróbuj zmienić czcionkę na Arial i sprawdź jak teraz wygląda 2. Problem z wgraniem czcionki Znaki odpowiadające dużym i polskim literom nie są wczytywane przez GM Rozwiązanie: W opcjach czcionki ustaw dwie liczby, które tam są na 0 i 255 lub kliknij "All" 3. Problem z kodowaniem Być może tekst który piszesz nie pokrywa się z GM'owskim kodowaniem i przez to niektóre litery są odczytywane jako inne Rozwiązanie: Hmmm... pewnego nie ma, ale spróbuj pobawić się z pakiem języka (w XP jest obok pasku powiadomień po prawej stronie paska) EDIT: Zakładam, że dziwne znaczki to na przykład: "Ä", "Ĺ", albo "?". Najlepiej, jakbyśmy je zobaczyli, może to coś da :)
-
Też miałem podobny problem. Zrobiłem zmienną global.game_play. Jeśli jest 1, u wszystkich obiektów gry wykonuje się normalnie akcja, jeśli 0, to nic nie robią (w międzyczasie zapisywane szybkości do zmiennej pomocniczej i takie tam). Zmienna przechodziła na 0 przy tworzeniu obiektu menu, a na 1, gdy się z niej wychodziło. Nie wiem, czy to najlepszy z możliwych sposobów, ale mój :) .
-
można użyć dużego sprite'a. Można też za pomocą surface'a, PsichiX robił kiedyś tutorial do surface'ów, tam przy przykładzie "mgły wojny" znajdziesz odpowiedź ;)
-
Było w bród tematów o lengthdir'ach, poszukaj. BTW: Uważam, że originy to zły pomysł. Nie wygląda zbyt ładnie, gdy ludek chodzi w kółko broni :) .
-
Aha, no tak, to takie oczywiste. Za długo siedziałem w GML'u :P
-
Witam wszystkich! Mam pewien problem. Kompilator wywala błąd już przy definicjach zmiennych, a dokładniej - przy definicji tablicy bool. Kod wygląda tak: /// wprowadzanie bibliotek /// #include "C:\Program Files\CodeBlocks\share\CodeBlocks\include\hge.h" /// deklaracje zmiennych globalnych /// HGE *hge = 0; unsigned short game_speed = 10; unsigned short add = 2+3*10; // czasami zapisuję parę małych wartości w jednej, mniej pamięci bierze unsigned short size_x = 10; unsigned short size_point = 1; unsigned short size_y = 10; unsigned short test_info = 1*1 + 1*2 + 0*4; bool click[10] = 0; // << o tutaj się błąd pojawia A kompilator pokazuje coś takiego: (...).cpp|14|error: invalid initializer| ||=== Build finished: 1 errors, 0 warnings ===| Pomoże mi ktoś?
-
Ok, mam, dzięki za pomoc :) Edit: Xtend.dll by Snake [http://www.sgames.ovh.org/] process_find_id( ProcessName ) Returns ID of a specified process. Parameters: ProcessName [real]: Process name. Returns: [real] ID of the first process that is named as specified. If process has not been found, function will return 0. Że co? Jak można podać nazwę w realu? Wyjaśni mi to ktoś?
-
Witam wszystkich! Chciałbym zrobić coś w rodzaju ukrytego programu (niekoniecznie GM), żeby co np. sekundę sprawdzał, czy dany proces jest uruchomiony i jeśli nie - uruchamia go. Chodzi o coś takiego: GMLif (second_last!=current_second) { if !(proces_uruchomiony("program.exe") execute_shell("program.exe",0); } second_last=current_second; Jeśli da się to w GML'u, to poproszę tylko tę funkcję, a jeśli się nie da... to jakoś inaczej :P
-
Gra pobiera screen pulpitu (i okienek na pulpicie), potem fullscreen, screen na surface1 i surface2 i heyah :) . Domalowujesz efekty na surface2, wyświetlasz surface2 i menu, a jak reset, to pobierasz dane z surface1. Jedyny problem to pobranie screenu, chyba żeby jakoś pobrać background ze screenu, a potem surface z rooma.
- Poprzednia
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- Dalej
-
Strona 7 z 8