Bug ao duplicar room

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido Bug ao duplicar room

Mensagem por vic22k em Dom 01 Jul 2012, 13:13

Bom, meu oChar trava quando eu duplico uma room, nao se mexe nessa room duplicada de jeito nenhum, e o único jeito de resolver isso é criando a room de novo. São muitos oBlocks para fazer novamente e isso se torna chato ter que montar a room idêntica toda vez.... Afinal, como resolver?

obrigadaaaaaa!! Laughing


Última edição por vic22k em Dom 01 Jul 2012, 13:57, editado 1 vez(es)

vic22k

Número de Mensagens : 18
Data de inscrição : 20/06/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Bug ao duplicar room

Mensagem por Jiraya em Dom 01 Jul 2012, 13:32

você deixou a room como persistent ?

passe o código que você esta usando para mover o "oChar", para podermos ter uma ideia melhor do que esta acontecendo.

Jiraya

Ranking : Nota A
Número de Mensagens : 1134
Data de inscrição : 20/03/2010
Notas recebidas : A+A
Reputação : 108
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

https://www.facebook.com/seito.washiro.7

Voltar ao Topo Ir em baixo

Resolvido Re: Bug ao duplicar room

Mensagem por Eudes - Hyo em Dom 01 Jul 2012, 13:37

veja como esse 'oChar' é colocado na Room, se vc mesmo coloca ele ou se algum objeto cria ele.

tente criar ele longe dos Blocks, para o caso de ele estar travando. Apesar de que não deveria acontecer.

Eudes - Hyo

Ranking : Nota B
Número de Mensagens : 513
Idade : 32
Data de inscrição : 02/06/2009
Notas recebidas : E + B+B
Reputação : 27
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Bug ao duplicar room

Mensagem por vic22k em Dom 01 Jul 2012, 13:40

deixei persistent, nao aconteceu nada!

create
Código:
global.canrun=true    //If the player have running shoes.
global.havebike=true  //If the player can use the bike.
global.canmove=true    //Whether the player can move or not.

moving=0
running=0
step=0
hitblock=0
cycling=0
image_index=0;
image_speed=0;
direction=270; //The player is facing down when he starts (0=right, 90=up, 180=left, 270=down)

Alarm 0
Código:
//Move if the player presses a button, otherwise, just turn around.
if (place_snapped(16,16) && keyboard_check(vk_up) || keyboard_check(vk_down) || keyboard_check(vk_right) || keyboard_check(vk_left)) {moving=1}
image_index=0;

Step
Código:
if (place_snapped(16,16) && alarm[0]=-1 && global.canmove) {
    if (moving && !hitblock && !cycling && global.canrun) {running=keyboard_check(ord("X"))}        //The key you have to press to run.
    if (!moving && global.havebike && keyboard_check_pressed(vk_backspace)) {cycling=!cycling}      //The key you use the bike with.
    if (moving=1 && !keyboard_check(vk_up) && !keyboard_check(vk_down) && !keyboard_check(vk_left) && !keyboard_check(vk_right)) {
        moving=0; running=0; image_index=0;
    }
    if (keyboard_check(vk_left)) {      //Move left
        if (moving) {direction=180;}
        if (!moving) {
            if (direction=180) {
                step=!step
                if (!step) {image_index=1} else {image_index=3}
                moving=1;
            } else {
                alarm[0]=4; direction=180; image_index=3;
            }
        }
    }
    if (keyboard_check(vk_right)) {    //Move right
        if (moving) {direction=0}
        if (!moving) {
            if (direction=0) {
                step=!step
                if (!step) {image_index=1} else {image_index=3}
                moving=1;
            } else {
                alarm[0]=4; direction=0; image_index=3;
            }
        }
    }
    if (keyboard_check(vk_up)) {        //Move up
        if (moving) {direction=90;}
        if (!moving) {
            if (direction=90) {
                step=!step
                if (!step) {image_index=1} else {image_index=3}
                moving=1;
            } else {
                alarm[0]=4; direction=90; image_index=3;
            }
        }
    }
    if (keyboard_check(vk_down)) {      //Move down
        if (moving) {direction=270;}
        if (!moving) {
            if (direction=270) {
                step=!step
                if (!step) {image_index=1} else {image_index=3}
                moving=1;
            } else {
                alarm[0]=4; direction=270; image_index=3;
            }
        }
    }
    if (direction=0) {      //Sets the correct sprite when walking right.
        sprite_index=sCharRight;
        if (running) {sprite_index=sCharRightRun;}
        if (cycling) {sprite_index=sCharRightBike;}
    }
    if (direction=90) {      //Sets the correct sprite when walking up.
        sprite_index=sCharUp;
        if (running) {sprite_index=sCharUpRun;}
        if (cycling) {sprite_index=sCharUpBike;}
    }
    if (direction=180) {      //Sets the correct sprite when walking left.
        sprite_index=sCharLeft;
        if (running) {sprite_index=sCharLeftRun;}
        if (cycling) {sprite_index=sCharLeftBike;}
    }
    if (direction=270) {      //Sets the correct sprite when walking down.
        sprite_index=sCharDown;
        if (running) {sprite_index=sCharDownRun;}
        if (cycling) {sprite_index=sCharDownBike;}
    }
}
hitblock=0;
if (running or cycling) {movespeed=4}      //You move with speed 4 when you run or cycle.
if (!running && !cycling) {movespeed=2}    //You move with speed 2 otherwise.
if (moving && global.canmove) {
    image_speed=0.2                        //The animation speed is 0.2 when you walk.
    speed=movespeed;
    if (running or cycling) {image_speed=0.4}  //The animation speed is 0.4 when you run or cycle.
} else {
    speed=0; image_speed=0;
}

oBlock colision
Reverse vertical direction
Reverse horizontal direction

Código:
//A simple collision code
if (!sound_isplaying(sndBlock)) {sound_play(sndBlock)}
running=0;
hitblock=0;
speed=0;
image_speed=0.1;

vic22k

Número de Mensagens : 18
Data de inscrição : 20/06/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Bug ao duplicar room

Mensagem por Jiraya em Dom 01 Jul 2012, 13:52

acho que encontrei o erro, seu personagem se move numa grade 16x16
e quando vc troca de room, provavelmente ele se desalinha

tente colocar isso quando o objeto estivar na room duplicada
Código:

x=floor(x div 16)*16;
y=floor(y div 16)*16;
certifique-se que esse código só execute uma vez, apenas para fazer o objeto se alinhar a grade novamente.

Jiraya

Ranking : Nota A
Número de Mensagens : 1134
Data de inscrição : 20/03/2010
Notas recebidas : A+A
Reputação : 108
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

https://www.facebook.com/seito.washiro.7

Voltar ao Topo Ir em baixo

Resolvido Re: Bug ao duplicar room

Mensagem por vic22k em Dom 01 Jul 2012, 13:56

Jiraya era isso mesmo, minhas salas tem valores diferentes de X e Y, agora mudei pra 16x16 e recoloquei oChar!!!

obrigadaaaa!! *-* Feliz

Eudes - Hyo escreveu:veja como esse 'oChar' é colocado na Room, se vc mesmo coloca ele ou se algum objeto cria ele.

tente criar ele longe dos Blocks, para o caso de ele estar travando. Apesar de que não deveria acontecer.

Eu mesma coloco oChar Razz obrigada pela ajuda tambem!

vic22k

Número de Mensagens : 18
Data de inscrição : 20/06/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Bug ao duplicar room

Mensagem por Conteúdo patrocinado Hoje à(s) 06:10


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum