Skocz do zawartości

Scrolling Background


Cygnus

Rekomendowane odpowiedzi

Mam taki problem może wkleję kod bohatera

No i chciałbym,żeby tła się ruszały jak się poruszam bohaterem

próbowałem użyć tego kodu i podobnych:

 

 

GML[/gml]

background_x[0] = view_xview[0]/5;

background_y[0] = view_yview[0]/5;

GML
ale to nie działa i tła się nie poruszają,a mam dwa obecnie tła ustawione:/ nie wiem już co mam zrobić pomóżcie...

o to niżej kod bohatera...

 

 

STEP

 

GML

 

 

///Controls

if !place_meeting(x,y,obj_water) {

//Normal movement

if climbing == false {

if keyboard_check_pressed(kJump) && inAir == false {

vspd = -10-sign(pwrupJmp*3);

jumpStr = 3;

//Step down

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;

}

//Climb

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;

}

}

//Climbing

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 {

//Swimming

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;

}

}

GML
jeszcze raz drugi kod w STEP

 

GML

///View offset

gvOffY = -32;

if !place_meeting(x,y,obj_water) {

gvOffX = image_xscale*view_wview[0]/4;

if keyboard_check(kUp) && !keyboard_check(kDown) && inAir == false {

gvOffY -= view_hview[0]/3;

} else if keyboard_check(kDown) && !keyboard_check(kUp) && inAir == false {

gvOffY += view_hview[0]/3;

}

}

 

 

//Tła funkcja odpowiedzialna za ruchome tło,kiedy bohater idzie tło jakby podąża za nim

/*

background_x[0] = view_xview[0]/5;

background_y[0] = view_yview[0]/5;

 

background_x[1] = view_xview[1]/5; //mozna dodac na zachod slonca;p

background_y[1] = view_yview[1]/5;

 

/*

background_x[2] = view_xview /5;

background_y[2] = view_yview /5;

*/

GML
Begin Step

GML

///Reset

image_blend = merge_colour(image_blend,c_white,0.1);

if inAir == false {

jumpTimes = 1;

}

GML
End STEP kod1

GML

///Inherit

if climbing == true {

multiG = 0;

vF = true;

} else {

vF = false;

}

event_inherited();

GML
End step kod 2

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;

}

}

}

GML
End step kod 3

GML

///Health and power ups

if hurtClock > 0 {

visible = !visible;

hurtClock -= 1;

} else {

visible = true;

}

 

if hp <= 0{

 

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;

 

 

}

}

 

 

//Power ups

if pwrupSpd > 0 {

//Effect

if pwrupSpd mod 2 == 0 {

if image_xscale > 0 {

part_type_orientation(pArrow,0,0,0,0,0);

part_type_direction(pArrow,0,0,0,0);

} else {

part_type_orientation(pArrow,180,180,0,0,0);

part_type_direction(pArrow,180,180,0,0);

}

part_type_colour1(pArrow,c_lime);

part_particles_create(partSystem,x-image_xscale*16,y-irandom(70),pArrow,1);

}

//Count down

pwrupSpd -= 1;

}

if pwrupStr > 0 {

//Effect

image_blend = merge_colour(image_blend,c_red,0.11);

//Count down

pwrupStr -= 1;

}

if pwrupJmp > 0 {

//Effect

if pwrupJmp mod 2 == 0 {

part_type_orientation(pArrow,90,90,0,0,0);

part_type_direction(pArrow,90,90,0,0);

part_type_colour1(pArrow,c_yellow);

part_particles_create(partSystem,x-16+irandom(32),y,pArrow,1);

}

//Count down

pwrupJmp -= 1;

}

[gml]

Odnośnik do komentarza
Udostępnij na innych stronach

może wrzuć projekt, będzie łatwiej

 

ANty

 

proszę tu w linku kod całego mojego bohatera;) jak zobaczysz tam w komentrzach w stepie wyłączyłem te ruchome tło,no bo nie działa:(pliczek z calym kodem bohatera

Game maker studio mam,ale to już wiesz;)

 

 

dzięki za wszystko jesteś naprawdę w porządku.

 

kliknij na to ANtY to przekieruje cie do mojego pliku

 

btw. używasz tagów na odwrót. Otwierający jest [ x ], a zamykający [/ x ] - a to któryś temat, co jest na odwrót.

 

Faktycznie Gnysek wybacz za mocno się rozpędziłem poprawie się z tagami;) teraz sam widzę;)

 

dzięki za uwagę;)

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

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