Ten artykuł został stworzony dla starszych wersji GameMakera i może nie być aktualny.

Zmiany w GM 8.1

Wtorek, 12 Kwietnia 2011, 22:12
Czas czytania 2 minuty, 54 sekundy
Zgodne z GM: gm8
Co nowego w GM 8.1
Artykuł zawiera listę znanych zmian, pełna lista pojawi się po wydaniu publicznej wersji programu!
Artykuł uwzględnia zmiany do wersji 8.1.59

Edytor plansz
Zmiana prawego klawisza myszy - otwiera menu, zamiast kasować, do kasowania trzeba przytrzymać Ctrl.
Usuwanie już rozmieszczonych obiektów z planszy jest domyślnie wyłączone - można je więc nakładać na siebie.
Zoom w room editorze. Poza guzikami w edytorze, rolka myszy przybliża i oddala, wciśnięcie środkowego klawisza pozwala przesuwać planszę.
Można ustawić w opcjach defaultowe tło dla room editora, gdy wyłączymy rysowanie tła.
Gdy używamy przeźroczystego tła, widoczna jest szachownica jak w edytorze grafik.
Dodatkowa opcja w menu (PPM), pozwalająca edytować obiekt.

Edytor grafik
Zoom za pomocą rolki w myszce, przesuwanie za pomocą środkowego przycisku.

Edytor ścieżek
Przesuwanie za pomocą środkowego przycisku myszki.

Edytor kodu
Przyspieszono kolorowanie dłuższych skryptów (działa płynnie do 1000 linii).
Można wyszukiwać dowolny tekst występujący w kodzie w Skryptach/Obiektach/Planszach/Liniach czasu/Wyzwalaczach.
Można włączać wyłączać podpowiadanie kodu przyciskiem na górze edytora.
ESC zamyka aktualne podpowiedzi.
Można zmienić kolor tła.
Dodanie /// w pierwszej linii Execute Code w obiektach powoduje wyświetlanie komentarza w miejesce nazwy tego klocka.

Przekazywanie argumentów
Od wersji 8.1.59 zmieniono obsługę argumentów skryptach. Jeśli w skrypcie mojSkrypt() pojawia się zmienna argumentX, do skryptu mojSkrypt() nalezy podać X+1 argumentów. Np. dla argument2, trzeba podać trzy argumenty. Argumenty są więc teraz OBOWIĄZKOWE.
Aby uzyskać argument opcjonalny, nalezy używać tablicy argument[Y]. Warunek jest jeden - Y nie może być większy/równy niż zmienna argument_count, która przetrzymuje liczbę przekazanych argumentów:
kodif argument_count > 4 { // jest co najmniej 5 argumentów
// mozna teraz zrobić coś z argument[4];, czyli piątym argumentem
}
Przypominam, że tablice numerowane są od zera, zatem ostatnim argumentem opcjonalnym nie generującym błędu GM jest argument[argument_count-1];

Inne
Zmiana nazw zasobów jest teraz pod klawiszem F2. Ctrl+R wyszukuje zasoby, Ctrl+F działa tylko w edytorze kodu i pozwala na wyszukiwanie.
GM 8.1 zapisuje pliki jako GM81 a nie GMK.
Dodana funkcja draw_self() - wykonuje kod draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_blend,image_angle,image_alpha);
Zmienne os_type i os_device dla osób chcących wydać grę na innych platformach niż PC.
BuforZ w 24 bitach.
Sprzętowe T&L dla szybszego generowania grafiki.
Dodano d3d_light_define_ambient(kolor) aby ustawić ogólny kolor otoczenia.
Dodano dot_product(x1,y1, x2,y2), dot_product_3d(x1,y1,z1, x2,y2,z2), point_distance_3d(x1,y1,z1, x2,y2,z2).
Poprawiono rendering czcionek.

Kodowanie
GM 8.1 został napisany w najnowszej wersji Delphi, zatem kodowany jest w UTF, co powoduje pewne problemy. O ile można już korzystać z prawego Alta do wpisywania polskich znaków diaktrycznych (ą, ę) i działało to w wersji do 8.1.53 to niestety źle generowane były czcionki - powyżej tej wersji czcionki już generują się dobrze, ale kodowane w edytorze się zmieniło i tych znaków nie uzyskamy... niestety ten bug prawdopodobnie zostanie naprawiony w kolejnych wersjach, 8.1.59 jeszcze tej poprawki nie uwzględniał.
Tekst jest poprawnie pobierany przez get_string(), oraz poprawnie wyświetlany dla gier przekonwertowanych z GM8.0.
Komentarze (łącznie 13):
K
Kofel (Pią., 15 Kwi. 11, 15:47)
#1

Użycie UTF powoduje problemy? Pierwsze słyszę. To chyba programiści używający Unicode w YoYo są niepełnosprawni.

gnysek (Pią., 15 Kwi. 11, 16:33)
#2

Tak, bo nowe delphi uzywa UTF, a GM nie. I tu się robi konflikt. Zauważ, ze np. czcionki nadal używają 256 znaków, czyli jakby ASCII.

Muuuuczek567 (Pią., 15 Kwi. 11, 16:52)
#3

Do czego służy dot_product? Jak działa? I jaką wartość zwraca?

HuderLord (Pią., 15 Kwi. 11, 17:14)
#4

do wektorów

Muuuuczek567 (Pią., 15 Kwi. 11, 20:30)
#5

Dzięki, naprawdę mi pomogłeś :/
Co trzeba podać w argumentach? Nie mam bladego pojęcia o działaniach na wektorach.

Dawidds (Pią., 15 Kwi. 11, 20:42)
#6

Wpisz sobie dot product w google albo na wiki a nie się pytasz na forum o programowaniu w Game Makerze.

HuderLord (Pią., 15 Kwi. 11, 20:44)
#7

To jest iloczyn skalarny 2 wektorów. Podajesz x y i z 2 obu wektorów. Funkcja wymnoży x1 z x2, y1 z y2, z1 z z2 i to wszystko razem do siebie doda. Np: dot_product(1,2,3,4) = 1*3 + 2*4 = 11

Muuuuczek567 (Pią., 15 Kwi. 11, 20:54)
#8

No to w tym będę musiał się podszkolić. Nie wiem, czy w gimnazjum jest iloczyn skalarny w podstawie programowej, a coś czuję, że raczej nie.

gnysek (Pią., 15 Kwi. 11, 21:33)
#9

No, nawet na studiach to pewnie dopiero na matmie jest, bo ja tego nie kojarzę, albo tylko na wykładach było.

TheMarcQ (Pią., 15 Kwi. 11, 21:39)
#10

"Zmienne os_type i os_device dla osób chcących wydać grę na innych platformach niż PC" Jak to ma dzialac?

Jaklub (Pią., 15 Kwi. 11, 21:50)
#11

np. dla minisów sony zablokujesz multi, bo sony jest gupie!1

HuderLord (Pią., 15 Kwi. 11, 21:54)
#12

U mnie na 1 semestrze studiów to było.

HuderLord (Pią., 15 Kwi. 11, 22:52)
#13

A nie sorry, sprawdziłem w GM tą funkcję nie zwróciła 11 tylko 0.98, tamta funkcja to iloczyn skalarny geometryczny czyli zwraca cosinus kąta między tymi wektorami. To w takim razie dot_product(1,2,3,4) = tiny.pl/hd8bb

Najnowsze wersje GameMakera:

Stabilna
2024.06.2.162 • 2024.6.1.208
wydana 12 dni temu
LTS
2022.0.2.51 • 2022.0.2.49
wydana 284 dni temu
Beta
2024.800.0.597 •
2024.800.0.620
 0.11.0

wydana  2 dni temu
= IDE, = Runtime, = GMRT
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
Shoutbox
gnysek (18:31, 25.07.24)
Ogłaszam nowy etap w historii GameMakera.
gnysek (11:36, 08.07.24)
Ale w sumie taki numer GG był bezpieczniejszy niż nr. telefonu czy kontakt społecznościowy. Utrudniał stalkowanie i ułatwiał banowanie.
Wojo (08:08, 08.07.24)
Niestety to już nie te czasy kiedy pytało się kasjerki o wiek i numer Gadu-Gadu...
Adriann (08:28, 05.07.24)
Albo okraść :|
Adriann (08:28, 05.07.24)
Może pani chciała zobaczyć twoje dane i Cię poderwać :d
gnysek (10:38, 03.07.24)
Mnie ostatnio w Żabce zapytali o wiek. A mam już ponad dwie osiemnastki.
Wojo (08:27, 30.06.24)
Ogólnie to miał być żart ponieważ portal internetowy, którego można opisać jako PH jest portalem przeznaczonym dla dorosłych. Miało być śmiesznie wyszło żenująco, a wiadomości w shoutboxie nie mogę skasować :P
Wojo (09:40, 28.06.24)
Tymon jak co wizytę musiałem potwierdzić wiek
gnysek (14:15, 17.06.24)
Bo Łapusz woli alkohol, niż się organizować. Co tam Pixel Heaven, sprawdźcie jego zbiórki na książki...
Adriann (21:02, 13.06.24)
Bardzo słusznie, straszna patola z tą organizacją :D
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?