Skocz do zawartości
Chell

Temat zbiorczy na drobnostki

Rekomendowane odpowiedzi

Czy może jest jakiś kod do wrzucenia w stepie np

 

if zderzenie z ziemią nr1

{

mogę na nim stanąć

}

 

if zderzenie z ziemią nr2

{

mogę na nim stanąć

}

 

if zderzenie z ziemią nr3

{

mogę na nim stanąć

}

i tak dalej

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Zrób sobie obiekt bez sprite ziemia_obj. Potem jako parent ziemia1, ziemia2, ziemia3 dajesz ziemia_obj. Gdy do gracza dodasz teraz event collision with ziemia_obj. Gracz będzie reagował na kolizje z ziemia1, 2 i 3 dopóki ziemia_obj będzie ich parentem.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

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

Udostępnij tego posta


Odnośnik do posta
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.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Tak, tylko, że gdy zmieniam platformę z HTML5 na np. Windows albo Android maska normalnie wykrywa kliknięcie, na HTML5 nie zawsze.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Ogólnie to pod html5 robi się od zera, nie powinno się konwertować gier bo po drodze jest masa pierdół, które mogą zepsuć i nigdy się nie dowiesz co jest grane bo ciężko debugować cokolwiek.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

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.

Udostępnij tego posta


Odnośnik do posta
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?

Udostępnij tego posta


Odnośnik do posta
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.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Dlaczego animacja się nie rusza ?

GML
if (drabina = 1)

{

sprite_index = spr_wspinaczka;

image_speed = 0;

if (key_up or key_down)

{

image_speed = 0.5;

}

}

 

Rozwiązane

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

GML
object_set_visible(obj_player,false);

var i;

for (i = 0; i < 20; i++)

{

scr_part_death();

}

// Co wpisac by reszta scryptu odpalala sie po 3 sekundach ?

{

scr_death();

obj_player.state = states.normal;

}

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jaki najsłabszy Iphone i komputer Maca muszę mieć żeby móc kompilować na IOS? W sensie jak najtańszym kosztem to ogarnąć?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

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

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
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.

Udostępnij tego posta


Odnośnik do posta
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.

 

Udostępnij tego posta


Odnośnik do posta
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.

Udostępnij tego posta


Odnośnik do posta
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));

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

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

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Wyświetlasz pod dwukrotną wysokością ekranu?

Udostępnij tego posta


Odnośnik do posta
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

Udostępnij tego posta


Odnośnik do posta
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()

Udostępnij tego posta


Odnośnik do posta
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 ;)

Udostępnij tego posta


Odnośnik do posta
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.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

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;
}

Udostępnij tego posta


Odnośnik do posta
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..

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

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

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

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×