Skocz do zawartości

Temat zbiorczy na drobnostki


Chell

Rekomendowane odpowiedzi

@Uzjel

Pusty room wczytuje się normalnie. Pewnie coś jest nie tak z kodem któregoś obiektu albo z creation code roomu. Muszę pogrzebać.

 

@edit:

Wina leżała po stronie kodu w draw... Tylko dalej mnie zastanawia, dlaczego niektóre obiekty odpalają normalnie event left pressed button normalnie a drugie nie.

Odnośnik do komentarza
Udostępnij na innych stronach

Wina leżała po stronie kodu w draw... Tylko dalej mnie zastanawia, dlaczego niektóre obiekty odpalają normalnie event left pressed button normalnie a drugie nie.

Ten event odpala się przy kliknięciu w maskę kolizji obiektu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Polecam włączać narzędzia deweloperskie, jeśli maci czarny ekran w HTML5. Co prawda skróty klawiaturowe są wyłączone w HTML5, ale jak wklikacie się w pasek adresu, powinny działać. Można je też odpalać z menu. Tam będą błędy JS i może uda sie znaleźć co się psuje.

Odnośnik do komentarza
Udostępnij na innych stronach

z poziomu gma mogę dostać się tylko do facebooka, czy może są jakieś magiczne sposoby na łączenie się z kontem google czy microsoftu?

edit: a zmienianie ustawień andro, ustawianie budzików?

Nic z tego. Nie przy pomocy podstawowych funkcjonalności. Chyba że sam sobie napiszesz extension w Javie.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 4 tygodnie później...
Jeśli w spricie są 2 kratki np.: w jednej koleś ma otwarte oczy a w drugiej zamknięte co zrobić żeby przy zbliżeniu się do słońca postać zamkneła oczy na sekundę?

To bardzo proste.

Zrób sobie 2 sprity spr_gracz_zamkniete_oczy oraz spr_gracz_otwarte_oczy

GML
W create daj sobie zmienną

zmiana=1

GML
w alarmie

zmiana=1

 

GML
w stepie gracza dajesz

if distance_to_object(obj_slonce) < (liczba)odległość do słońca zmiana=1

{

sprite_index=spr_gracz_zamkniete_oczy

zmiana=0

alarm[0]=30

}

 

o ile się nie mylę alarmy są wyrażane w milisekundach,musisz sobie zamienić milisekundy na sekundy.

Odnośnik do komentarza
Udostępnij na innych stronach

o ile się nie mylę alarmy są wyrażane w milisekundach,musisz sobie zamienić milisekundy na sekundy.

Alarmy są w krokach. Step. Zależą od szybkości gry i od tego jaki jest ustawiony room_speed.

 

Odnośnik do komentarza
Udostępnij na innych stronach

Mam takie sobie tworzenie obiektów, o:

GML
if image_xscale>3

{

repeat(random(5)) instance_create(x,y,random(choose(obj1,obj2)));

}

if image_xscale>4

{

repeat(random(8)) instance_create(x,y,random(choose(obj1,obj2)));

}

else

{

repeat(random(12)) instance_create(x,y,random(choose(obj1,obj2)));

}

 

Te dwa obiekty mam wsadzone do grupy (w celach porządkowych tylko). Problem w tym że gra wybiera 3 zupełnie inne obiekty z innej grupy. Dlaczego tak się dzieje? Myślałem że to w jak pogrupowane są obiekty nie wpływa na działanie kodu.

Odnośnik do komentarza
Udostępnij na innych stronach

Pod obj1 i obj2 kryją się numery po których GM rozróżnia jakie to są obiekty.

Funkcja choose wg dokumentacji wybiera losowo jeden z podanych argumentów ("Randomly chooses one of up to 16 arguments."), więc losowanie masz już tu zrealizowane.

A ty do choose dajesz jeszcze dodatkowy random, czyli GM rozumie to jako "wylosuj liczbę od zera do numeru identyfikacyjnego obiektu", dlatego wybiera Ci inne obiekty. Spróbuj samo:

GML
repeat(random(5)) instance_create(x,y,choose(obj1,obj2));
Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

Jak wstawić reklamę zawsze w tym samym miejscu bez względu na rozdzielczość ekranu urządzenia (Android).Ekran tylko w pionie, w poprzednim projekcie miałem tylko poziomo i bez problemu to zrobiłem a tutaj coś nie chce działać.Ostatni kod jakiego próbowałem

 

GML
phonew=display_get_gui_width()

phoneh=display_get_gui_height()

xx=phonew/4

yy=phoneh*2

 

Reklamę wyświetlam oczywiście na tych współrzędnych.Uprzedzam pytanie-reklama działa,na środku ekranu mogę bez problemu wyświetlić-ale potrzebuję na środku,przy dolnej krawędzi..

 

Odnośnik do komentarza
Udostępnij na innych stronach

To jedna a z kilkunastu prób-tu akurat wyżej trochę (biorę pod uwagę że reklama się nie mieści i dlatego nie wyświetla). Stworzyłem obiekt o wymiarach banera reklamowego i nadaje mu te współrzędne, jest mniej więcej w tym miejscu w którym chce żeby był- ale reklamy ani śladu.Oczywiście nie wiem dlaczego akurat heigh*2 , to efekt bezsilnych prób, i w sumie na obiekcie się sprawdza

Odnośnik do komentarza
Udostępnij na innych stronach

Widzę że jeszcze nikt nie odpowiedział ci.

Potrzebujesz 2 rzeczy: Wysokość ekranu i wysokość reklamy. Od wysokości ekranu odejmujesz wysokość reklamy.

 

GML
_y=display_get_height()-GoogleMobileAds_BannerGetHeight()
Odnośnik do komentarza
Udostępnij na innych stronach

Szczerze mówiąc to mu tego nie proponowałem, bo u mnie to rozwiązanie nie zadziałało ;)

YYG zaleca aby nie ustawiać reklamy na pozycji przy jej wywołaniu a dopiero zmienić jej lokalizację jak się wczyta i wywoła event Social.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

Potrzebuję shadera który narysuje tylko pixele o odpowiednim wybranym przeze mnie kolorze. Coś typu:

vec4 col = texture2D( gm_BaseTexture, v_vTexcoord );
if(col.r != 1.0 && col.g != 1.0 && col.b != 1.0) {
        col.a = 0.0;
}

Odnośnik do komentarza
Udostępnij na innych stronach

Ktoś może wie dlaczego ten kod kolizji w nieprawdopodobny sposób obniża mi FPS

 

GML
//Set up vars

var a,xoff,yoff,om,mm,mag;

 

a = point_direction(x, y, other.x, other.y); //Get the direction from the colliding object

xoff = lengthdir_x(1, a); //Get the offset vector

yoff = lengthdir_y(1, a);

om = other.mass / mass; //start the fake "physics mass" calculations

mm = mass / other.mass;

mag = sqrt((om * om) + (mm * mm));

om /= mag;

mm /= mag;

 

//Move out of collision

while (place_meeting(x, y, other.id))

{

x -= xoff * om; //Move the instance out of collision

y -= yoff * om;

other.x += xoff * mm; //Move the other instance out of the collision

other.y += yoff * mm;

}

 

Wszystko działa idealnie,system w top down doskonale się sprawdza ale wystarczy że pojawi się 10 postaci które ze sobą kolidują i fps spada do 1/3 na PC, jakieś nieporozumienie.Hitman: Absolution ostatnio ograłem na tym bez minimalnego spowolnieniaa tutaj projekt składający się z kilku obiektów i kilka linijek kodu muli kompa jakby zaraz miał eksplodowac...

 

 

//edit

 

Rozwiązanie jak zwykle w przypadku GM miażdży mi system.Wszysko działa normalnie po zmianie masek kolizji na kwadraty-wcześniej były elipsy.....Ja nie ogarniam dlaczego to pomogło ale teraz nawet 1fps nie spada..

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ę...