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.8.1.171 • 2024.8.1.218
wydana 72 dni temu
LTS
2022.0.2.51 • 2022.0.2.49
wydana 401 dni temu
Beta
2024.1100.0.686 •
2024.1100.0.707
 0.13.0

wydana  6 dni temu
= IDE, = Runtime, = GMRT
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
Shoutbox
gnysek (11:46, 17.11.24)
Witamy, witamy!
baca (12:22, 16.11.24)
To już 25 lat.. Witam po paru latach nieobecności.
gnysek (11:05, 15.11.24)
Natomiast obecne forum istnieje od 2004, jak z iglu.cz na gmclan.org przeszliśmy i od tego czasu nie było resetów danych.
gnysek (12:35, 13.11.24)
Ogólnie GMCLAN istnieje 22 lata, ale na to trofeum nie zrobiłem (jeszcze xD)
Chell (20:41, 08.11.24)
wow, ta emotka w ogóle nie wygląda jak : O xD
Chell (20:40, 08.11.24)
tylko? :O 4tk ma 15
Borek (18:12, 07.11.24)
Właśnie dostałem powiadomienie z forum, że jestem na GMClanie 18 lat :D Ja pierdzielę...
S
Sutikku (08:43, 18.10.24)
TIL, gamemaker jest starszy ode mnie
gnysek (16:04, 15.10.24)
Za równo miesiąc, GameMaker kończy 25 lat.
Wojo (15:38, 05.09.24)
Ciekawe
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?