Skocz do zawartości

Błąd w HTML5


Danieo

Rekomendowane odpowiedzi

Witajcie!

Tworzę sobie swoją grę HTML5. Wszystko pięknie działało do momentu stworzenia menu i obiektów przycisków. Otóż po dodaniu tych rzeczy gdy skompilowałem grę do HTML5 moim oczom ukazało się... nic. Konsola developera wypluwa:

 

Lights Off.js?KFFAC=304512171:1339 Uncaught TypeError: _bb.measureText is not a function(?)_cs._C82 @ Lights Off.js?KFFAC=304512171:1339_j12._Or @ Lights Off.js?KFFAC=304512171:1358_b7 @ Lights Off.js?KFFAC=304512171:165_05 @ Lights Off.js?KFFAC=304512171:33_vB1._T8 @ Lights Off.js?KFFAC=304512171:1506_ub2._T8 @ Lights Off.js?KFFAC=304512171:1405_g22._Cq2 @ Lights Off.js?KFFAC=304512171:1582_g22._xr2 @ Lights Off.js?KFFAC=304512171:1598_g22._Lr2 @ Lights Off.js?KFFAC=304512171:1605_g22._Ia @ Lights Off.js?KFFAC=304512171:1608_hz2 @ Lights Off.js?KFFAC=304512171:1767_Uy2 @ Lights Off.js?KFFAC=304512171:1773_Ry2 @ Lights Off.js?KFFAC=304512171:1758

Lights Off.js?KFFAC=304512171:1339 Uncaught TypeError: _bb.measureText is not a function(?)_cs._C82 @ Lights Off.js?KFFAC=304512171:1339_j12._Or @ Lights Off.js?KFFAC=304512171:1358_b7 @ Lights Off.js?KFFAC=304512171:165_05 @ Lights Off.js?KFFAC=304512171:33_vB1._T8 @ Lights Off.js?KFFAC=304512171:1506_ub2._T8 @ Lights Off.js?KFFAC=304512171:1405_g22._Cq2 @ Lights Off.js?KFFAC=304512171:1582_g22._xr2 @ Lights Off.js?KFFAC=304512171:1598_g22._Lr2 @ Lights Off.js?KFFAC=304512171:1605_g22._Ia @ Lights Off.js?KFFAC=304512171:1608_hz2 @ Lights Off.js?KFFAC=304512171:1767_Uy2 @ Lights Off.js?KFFAC=304512171:1773_Ry2 @ Lights Off.js?KFFAC=304512171:1758

 

Link do kodu JS gry: KOD

 

Jednak co zabawne nie jest to błąd kodu gry bo gdy zmieniam eksport na np. Windows wszystko działa normalnie.

 

Obiekt Button:

GML
Information about object: Button

Sprite: button_spr

Solid: false

Visible: true

Depth: 0

Persistent: false

Parent:

Children:

Mask:

 

No Physics Object

Create Event:

 

execute code:

 

load_room = menu;

provide = 0;

caption = "Button";

 

Mouse Event for Left Button:

 

execute code:

 

global.gameMode = provide;

room_goto(load_room);

show_debug_message("Select game mode: "+string(global.gameMode));

 

Draw Event:

 

execute code:

 

draw_self();

draw_set_halign(fa_center);

draw_text(x+50, y+50, caption);

 

Menu Room Creation Code:

GML
var casual = instance_create(view_wport[0]/2, 100, Button);

casual.caption = "Casual";

casual.provide = 1;

casual.load_room = game;

 

var normal = instance_create(view_wport[0]/2, 200, Button);

normal.caption = "Normal";

normal.provide = 2;

normal.load_room = game;

 

var time_a = instance_create(view_wport[0]/2, 300, Button);

time_a.caption = "Time Attack";

time_a.provide = 3;

time_a.load_room = game;

 

Game Room Creation Code:

GML
randomize();

instance_create(0, 0, gameController);

 

switch(global.gameMode)

{

case 1:

instance_create(0, 0, Casual);

break;

 

case 2:

instance_create(0, 0, Normal);

break;

 

case 3:

instance_create(0, 0, Time);

break;

}

 

Jak widać nie używam żadnych egzotycznych funkcji ani nic takiego.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

1. Wyczyść cache GM miotełką

2. A jak zakomentujesz te linijki to znów działa? Spróbuj wtedy część odkomentować (sprawdzając, czy na Windowsie po odkomentowaniu działa) i może znajdziesz która funkcja powoduje problem.

Odnośnik do komentarza
Udostępnij na innych stronach

Takie pytanie. Czy w export HTML5 czas jest liczony jakoś inaczej? Bo coś mi alarmy się nie odpalają a zastąpienie ich tym kodem:

GML
timer = current_time + 1000;

 

if(timer < current_time)

{

room_restart();

}

nie pomaga. Aczkolwiek tym razem instrukcje zawarte w warunku wykonują się (tylko bez przerwy w czasie). Na windowsie zarówno alarmy jak i powyższy kod działają bez zarzutu.

 

@edit:

Z tego co mi się udało na razie dowiedzieć, to timer na HTML5 się nie nastawia (ma wartość 0). Ale w sumie zauważyłem, że z zmianą wartości zmiennej nie tylko zmienna timera ma problem. Zmienna globalna (wbudowana) score też nie ustawia wartości.

Odnośnik do komentarza
Udostępnij na innych stronach

Takie pytanie. Czy w export HTML5 czas jest liczony jakoś inaczej? Bo coś mi alarmy się nie odpalają a zastąpienie ich tym kodem:

GML
timer = current_time + 1000;

 

if(timer < current_time)

{

room_restart();

}

nie pomaga. Aczkolwiek tym razem instrukcje zawarte w warunku wykonują się (tylko bez przerwy w czasie). Na windowsie zarówno alarmy jak i powyższy kod działają bez zarzutu.

 

@edit:

Z tego co mi się udało na razie dowiedzieć, to timer na HTML5 się nie nastawia (ma wartość 0). Ale w sumie zauważyłem, że z zmianą wartości zmiennej nie tylko zmienna timera ma problem. Zmienna globalna (wbudowana) score też nie ustawia wartości.

 

Jak używasz efektów graficznych (cząsteczkowe?) to je wyłącz dla HTML5

 

Fervi

Odnośnik do komentarza
Udostępnij na innych stronach

Niestety GM-HTML5 trzeba testować z 10 razy dokładniej niż inne. W moim projekcje z jakiegoś powodu potrafi wziąć "z dupy" spritey. A dokładnie bierze je, ale nie daje tam gdzie mają być (np. sprite 1 zamiast do obiektu 1 jest w obiekcie 5, bo czemu by nie)

 

Fervi

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...