-
Postów
330 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez Cygnus
-
Jasiek zaczuna coś tam działać teraz...no dobrze...ale i tak otrzymuje komunikat,czy chce czy nie chce jak spełniam warunek i mam 5 watchy to dostaje komunikat,ze jest ich za mało,ale przepuszcza mnie,jak mam mniej niż 5 watchy dostaje też komunikat,ale mnie już dalej nie przepuszcza,czyli prawidłowo,ale jeszcze kwestia tej wiadomości,bo teraz jest na zasadzie,że muszę kliknąć na wyskakujące się okienko z dialogiem i nacisnąć Ok,co jest uciążliwe,jak to ustawić,żeby był sam napis,który pokaże się np na 2,3 sekundy,że nie mam wystarczającej ilości watchy,żeby przejść do następnej planszy,no i też żeby się ten napis nie pojawił jak spełnie dany warunek,czyli jak będe miał 5 watchy lub więcej;)
-
Utrata energii i utrata życia bohatera,kiedy skoczy z wysokiej odległości
Cygnus odpowiedział(a) na Cygnus temat w Pytania początkujących
Panowie ogarnięte,ale dzięki za pomoc;) zupełnie inaczej zrobiłem tak:) obj_player CREATE GML global.damage=0; //zmiena odzpowiedzialna za obrazenia zadawane po upadku z duzej wysokosci w Step GML if vspd > 25 //Jesli predkosc spadania jest szybsza niz 25 (Mozna dowolnie zmieniac ta wartosc.) {global.damage+=1} //Zwiekszenie obrazen o wartosc 1. (Zmienienie liczby na wieksza zwiekszy zadawane obrazenia po upadku.) if not place_free(x,y+1) //Jesli w poblizu nas jest jakis obiekt rowniez zostana zadane obrazenia { other.hp-=global.damage //Odejmujemy punkty zycia od wartosci zadanych obrazen. global.damage=0 //Resetujemy zadawanie obrazen po uderzeniu w ziemie by nie zabieralo go wiecej } i w End STEP GML if vspd > 35 || hp <= 0{ global.damage=1 if not place_free(x,y+1) //Jesli w poblizu nas jest jakis obiekt rowniez zostana zadane obrazenia { global.life-=global.damage //Odejmujemy 1 zycie po upadku z ogromnej wysokosci global.damage=0 //Resetujemy zadawanie obrazen po uderzeniu w ziemie by nie zabieralo go wiecej } instance_destroy(); with (instance_create(x,y,obj_entity_die)) { sprite_index = spr_player_die01; image_xscale = other.image_xscale; respawnObject = obj_player; respawnX = spawnX; respawnY = spawnY; physics = true; respawn = true; } } I działa;) ale dzięki za pomoc i tak;) to na przyszłość dla tych,co będą mieli z tym problem... PS.Threef tak to ten szkielet silnika,ale bardzo zmodyfikowany..;) bystry jesteś młody;) -
kurcze...Chłopaki przecież wiem,że nawiasy usuwa się wszystkie aż taki ograniczony nie jestem.. klamrowe zostawiłem;) No to cię Jasiek zaskoczęnic nie jest w error opisane,bo tłumaczę,że się wtedy nie kompiluje jak if wywalę...kto tu nie słucha mnie uważnie;) nie kompiluje się czyli tłumacząc po polsku jasno i zrozumiale po młodzieżowemu dostaje czerwony komunikat error "Compile Failed-Please check the Compile window for any additional information" w samym na dole kompilatorze nie ma błędu... okienko compile i okienko source control to jest komunikat jak wywalę ten if z nawiasami oczywiście,czy zostawię bez też to samo nic się nie zmienia;) jak nie kompiluje,to logiczne jest,że się gra nie uruchamia i nie ma innego komunikatu z błędem... jak puszczę z if jak było to jest to co wcześniej opisałem w poście...zbiorę czy to więcej czy to mniej watch to przy mniejszej ilości czyli jak zbiorę 4 watch pojawia się komunikat,że za mało ich jest,ale i tak obj_przejście przepuszcza mnie do kolejnej planszy.. Myślę,że tu nie lezy problem z if...bo to nic nie daje...tylko powoduje,że się nie compiluje.
-
Utrata energii i utrata życia bohatera,kiedy skoczy z wysokiej odległości
Cygnus odpowiedział(a) na Cygnus temat w Pytania początkujących
Kurcze przeszukałem wszystko w obj_player wszystkie stepy,kolizje z obiektami i tylko w tym co podałem jest to x,y previous.Nie ma już nigdzie w całym obj_player...tylko w tym END STEPIE -
Utrata energii i utrata życia bohatera,kiedy skoczy z wysokiej odległości
Cygnus odpowiedział(a) na Cygnus temat w Pytania początkujących
Dobra mam.Tu jeszcze pozostał w obj_player kod z End STEP i tu jest y i x previous obj_player END STEP GML ///Sprites if !place_meeting(x,y,obj_water) { if inAir == false && keyboard_check(kRight) = keyboard_check(kLeft) && sprite_index != spr_player_stand && climbing == false { sprite_index = spr_player_stand; image_index =0; } if inAir == false && (keyboard_check(kRight) || keyboard_check(kLeft)) && keyboard_check(kRight) != keyboard_check(kLeft) && sprite_index != spr_player_run && climbing == false { sprite_index = spr_player_run; image_index = 0; } if inAir == true && climbing == false { sprite_index = spr_player_air; if vspd <= -1 { image_index = 0; } else if vspd >= 1 { image_index = 2; } else { image_index = 1; } } if climbing == true { if x == xprevious && y == yprevious { if sprite_index != spr_player_hang { sprite_index = spr_player_hang; } } else { if sprite_index != spr_player_climb { sprite_index = spr_player_climb; } } } if attClock > 0 && curAttack == 0 { sprite_index = spr_player_attack; image_index = 14-(attClock); attClock -= 1; } if attClock > 0 && curAttack == 1 { sprite_index = spr_player_shoot; image_index = 6-(attClock); attClock -= 1; } swimDir = point_direction(xprevious,yprevious,x,y); drawAngle = swimDir; if image_xscale < 0 { drawAngle += 180; } } else { if sprite_index != spr_player_water { sprite_index = spr_player_water; image_index = 0; } if keyboard_check(kRight) && !keyboard_check(kLeft) && image_xscale = -1 { image_xscale = 1; drawAngle -= 180; } else if keyboard_check(kLeft) && !keyboard_check(kRight) && image_xscale = 1 { image_xscale = -1; drawAngle += 180; } if abs(keyboard_check(kRight)-keyboard_check(kLeft))+abs(keyboard_check(kDown)-keyboard_check(kUp)) != 0 { image_index += 2; if image_xscale > 0 { drawAngle -= angle_difference(drawAngle,swimDir)/16; } else { drawAngle -= angle_difference(drawAngle,180+swimDir)/16; } } } -
Jasiek no przecież musi być zależne przejście do następnej planszy,o to chodzi,żeby zostało spełnione jakiś warunek po którym nastąpi to zdarzenie i ten obj_przejscie się odblokuje. Przecież tego błędu nie ma,ale jak usunę "if" to wtedy jest błąd w kompilacji...o dokładnie to jak usunę tą część.. to jest kod w obj_przejscie kolizaj z bohaterem GML ///Koniec mapy wygrana if (global.watch <= 5){ // wyalam tego if i nie kompiluje się... room_goto_transition(nextRoom,TRANS_RANDOM,10+irandom(30), choose(c_lime,c_yellow,c_white,c_black,c_gray)); } if unlockWorld != -1 { ds_list_add(openWorlds,unlockWorld); } else{ show_message("przejście zablokowane brak określonej ilości rzeczy"); } a tu Create z tego obj_przejscie GML nextRoom = roo_world1_2; unlockWorld = -1;
-
Utrata energii i utrata życia bohatera,kiedy skoczy z wysokiej odległości
Cygnus odpowiedział(a) na Cygnus temat w Pytania początkujących
k117 dodałem w bohaterze do kolizji z obj_wall GML show_message(string(vspd)) if(vspd > 2){ global.life -=1; } else if(vspd > 1){ hp -=1; } Podskakuje graczem,ale nic nie wyskakuje... -
Utrata energii i utrata życia bohatera,kiedy skoczy z wysokiej odległości
Cygnus odpowiedział(a) na Cygnus temat w Pytania początkujących
ech zamieniłem vspeed na vspd nie działa kurcze co jest nie tak:/ -
Utrata energii i utrata życia bohatera,kiedy skoczy z wysokiej odległości
Cygnus odpowiedział(a) na Cygnus temat w Pytania początkujących
a,więc tak tu kod mojego bohatera STEP GML //Poruszające sie tlo za bohaterem gora dol background_x[0] = view_xview[view_current]*1.00; background_y[0] = view_yview[view_current]*0.8; ///Sterowanie if !place_meeting(x,y,obj_water) { //Ruch normalny if climbing == false { if keyboard_check_pressed(kJump) && inAir == false { vspd = -10-sign(pwrupJmp*3); jumpStr = 3; //Schodzenie if keyboard_check(kDown) && place_meeting(x,y+1,par_solid_ghost) { y += 4; vspd = 0; jumpStr = 0; jumpTimes = 0; } } else if keyboard_check(kJump) && jumpStr > 0 { vspd -= 2+sign(pwrupJmp); jumpStr--; } else { if keyboard_check_released(kJump) && jumpStr > 2 { vspd += 2+sign(pwrupJmp); } jumpStr = 0; } if jumpTimes > 0 && keyboard_check_pressed(kJump) && inAir == true { vspd = -10-sign(pwrupJmp*3); jumpStr = 0; jumpTimes--; } if keyboard_check(kAction) && attClock == false { if keyboard_check(kDown) { attClock = 12; curAttack = 1; with instance_create(x,y-16,obj_projectile) { hspd = other.image_xscale*10; vspd = -4; g = .2; owner = par_player; strength = 0; explode = true; explosionRadius = 30; explosionStrength = 2+(sign(other.pwrupStr)*8); image_blend = c_lime; } } else { attClock = 18; curAttack = 0; with instance_create(x,y,par_attack) { sprite_index = mask_player_attack; image_xscale = other.image_xscale; owner = par_player; strength = 1+(sign(other.pwrupStr)*4); } } } if keyboard_check(kRight) && !keyboard_check(kLeft) { if hspd < 10+(sign(pwrupSpd)*5) { hspd = min(hspd+(2+(sign(pwrupSpd)*2))*multiF,10+(sign(pwrupSpd)*5)); } image_xscale = 1; } if keyboard_check(kLeft) && !keyboard_check(kRight) { if hspd > -10-(sign(pwrupSpd)*5) { hspd = max(hspd-(2+(sign(pwrupSpd)*2))*multiF,-10-(sign(pwrupSpd)*5)); } image_xscale = -1; } //Wspinanie if place_meeting(x,y,par_climbable) && place_meeting(x,y-32,par_climbable) && place_meeting(x,y+32,par_climbable) && attClock <= 0 && (keyboard_check(kUp) || keyboard_check(kDown)) { climbing = true; vspd = 0; hspd = 0; } } //Wspinaczka if climbing == true { var __hsign = keyboard_check(vk_right)-keyboard_check(vk_left); var __vsign = keyboard_check(vk_down)-keyboard_check(vk_up); hspd = min(max(hspd+__hsign,-2),2); vspd = min(max(vspd+__vsign*2,-4),4); if __vsign == -1 && !place_meeting(x,y-32,par_climbable) { climbing = false; vspd = -10; } if __hsign != 0 { image_xscale = __hsign; } if !place_meeting(x,y,par_climbable) || !place_meeting(x,y+32,par_climbable) { climbing = false; } } } else { //Plywanie swimDir = point_direction(0,0,keyboard_check(kRight)-keyboard_check(kLeft),keyboard_check(kDown)-keyboard_check(kUp)); if abs(keyboard_check(kRight)-keyboard_check(kLeft))+abs(keyboard_check(kDown)-keyboard_check(kUp)) != 0 { hspd += lengthdir_x(.5,swimDir); if !(swimDir > 0 && swimDir < 180) || place_meeting(x,y-sprite_height/3-1,obj_water) { vspd += lengthdir_y(.5,swimDir); } } if keyboard_check(kUp) && !place_meeting(x,y-sprite_height/1.5,obj_water) && vspd <= 0 { vspd = -12; } } CREATE GML ////////////////////////////// ///////ZMIENNE STALE////////// ///////////////////////////// ///Ustawienia event_inherited(); hp = 100; maxHp = 100; attClock = 0; curAttack = 0; hurtClock = 0; swimDir = 0; drawAngle = 0; jumpStr = 0; jumpTimes = 0; climbing = false; vsp = 0; //Moce specjalne pwrupSpd = 0; pwrupStr = 0; pwrupJmp = 0; //Pozycja odrodzenia Klarka i skrypt widoku centralnego spawnX = x; spawnY = y; centerViewOnMe(); //zachowanie pozycji gracza przy checkpointach if (global.checkpointR == room) { x = global.checkpointx; y = global.checkpointy; } start_x = x; start_y = y; a tu w obj_player kod z kolizji z obj_wall ten co dziedziczy solidy z wszystkimi obiektami po których chodzi mój bohater GML if(vspeed > 2){ global.life -=1; } else if(vspeed > 1){ hp -=1; } -
Utrata energii i utrata życia bohatera,kiedy skoczy z wysokiej odległości
Cygnus odpowiedział(a) na Cygnus temat w Pytania początkujących
Zrobiłem tak jak napisałeś kt1117 nic to nie daje...:/ wszystkie moje obiekty,po których chodzą dziedziczą z obj_wall ,bo tam mam ustawiony solid dla wszystkich tych platform,po których bohater chodzi..ustawiłem tak jak napisałeś nic to nie daje..próbuje z tym walczyć no i nic nie wychodzi... -
Czytam i słucham;) dałem w obj_przejscie ten kod: GML ///Koniec mapy wygrana if(global.watch <= 5){ room_goto_transition(nextRoom,TRANS_RANDOM,10+irandom(30), choose(c_lime,c_yellow,c_white,c_black,c_gray)); } if unlockWorld != -1 { ds_list_add(openWorlds,unlockWorld); } else{ show_message("przejście zablokowane brak określonej ilości rzeczy"); } Nadal to samo fakt,jest tak,że jak mam mniej niż 5 zebranych watch to dostaje info przy obj_przejscie,że jest ich za mało by opuścić plansze,ale i tak mnie przenosi do następnej planszy.
-
Utrata energii i utrata życia bohatera,kiedy skoczy z wysokiej odległości
Cygnus odpowiedział(a) na Cygnus temat w Pytania początkujących
w create bohatera daje vspeed=0;? żeby to sprawdzić po stronie gracza -
Utrata energii i utrata życia bohatera,kiedy skoczy z wysokiej odległości
Cygnus odpowiedział(a) na Cygnus temat w Pytania początkujących
kt1117 no jest to samo Ok spróbuje w stepie bohatera to zrobić...może to coś pomoże.. -
Utrata energii i utrata życia bohatera,kiedy skoczy z wysokiej odległości
Cygnus odpowiedział(a) na Cygnus temat w Pytania początkujących
No i niestety ten kod nie działa;) poddaje się chyba;) -
Utrata energii i utrata życia bohatera,kiedy skoczy z wysokiej odległości
Cygnus odpowiedział(a) na Cygnus temat w Pytania początkujących
Ok jak tylko dopadne sie do komputera,to sprawdze,moze w koncu to pomoze;-)? -
Utrata energii i utrata życia bohatera,kiedy skoczy z wysokiej odległości
Cygnus odpowiedział(a) na Cygnus temat w Pytania początkujących
wszystkie moje obiekty,żeby nie ustawiać wszędzie solidów na platformach są parent z obj_wall no i teraz tam dałem w tym obj_wall co dziedziczy z wszystkimi platformami solidy w kolizji z obj_gracz GML if(vspeed > 2){ global.life -=1; } else if(vspeed > 1){ hp -=1; } też nic to nie daje nadal bohater sobie skaczę i nie traci życia,ani energii.. -
Utrata energii i utrata życia bohatera,kiedy skoczy z wysokiej odległości
Cygnus odpowiedział(a) na Cygnus temat w Pytania początkujących
Zrobiłem tak w stepie gracza dałem GML if(vspeed > 70){ hp -=1; }else if(vspeed > 90){ global.life -=1; } No niestety nic to nie daje:/ nic się nie dzieje...bohater skacze z dużej odległości i nic mu nie jest energia się nie zmniejsza ani życie... -
Utrata energii i utrata życia bohatera,kiedy skoczy z wysokiej odległości
Cygnus odpowiedział(a) na Cygnus temat w Pytania początkujących
mam zwykłą grawitacje a nie fizykę. w stepie gracza swojego dałem GML if(vspeed > 10){ hp -=1; }else if(vspeed > 20){ global.life -=1; } No,ale nic to nie daje...nic się nie dzieje... -
Mateusz zrobiłem tak: w obj_game_controller dodałem taką zmienną w create o nazwie GML global.watch = 0; w draw GUI dałem GML draw_text(36, 140, string(" Watch: " + string(global.watch))); teraz w obj_watch dałem w stepie taki kod GML if place_meeting(x,y,obj_player){ instance_destroy(); global.watch += 1; } no i w obiekcie przenoszenie to co mnie po konczeniu lewelu ten obiekt jak na niego najde przenosi do nastepnej planszy dałem to w kolizki z par_player GML ///Koniec mapy wygrana /// if(instance_number(obj_watch) < 5){ room_goto_transition(nextRoom,TRANS_RANDOM,10+irandom(30), choose(c_lime,c_yellow,c_white,c_black,c_gray)); } if unlockWorld != -1 { ds_list_add(openWorlds,unlockWorld); } else{ show_message("przejście zablokowane brak określonej ilości rzeczy"); } Sęk w tym,że jak zbiorę mniej niż 5 watchów i najade na obj_przenoszenie no to dostaje info,"przejście zablokowane brak określonej ilości rzeczy" ale mimo to i tak mnie przenosi do następnej planszy,a nie powinno:/ co jest nie tak no i druga sprawa lepiej jakby to było info bez naciskania na ok tylko samo info ,które pojawi się na 2,3 sekundy i zniknie...
-
Utrata energii i utrata życia bohatera,kiedy skoczy z wysokiej odległości
Cygnus odpowiedział(a) na Cygnus temat w Pytania początkujących
Mateusz,a nie jest to zmienna liczbowa? kurcze..to jakiej użyć? bo się pogubiłem,ja z doskoku działam w GMS dobrze,że mój człowiek nie długo wraca;)Tak to jest jak grafik zajmuje się programowaniem,coś tam wychodzi ,ale zawodowcem nie jestem;) -
dobra dzięki panowie Threef ma racie ini jest niepotrzebne