Problemas com sprite offset e lengthdir !!

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

Problemas com sprite offset e lengthdir !!

Mensagem por ChicoGamer em Sex 24 Abr 2015, 12:20

Eae galera, dá um help pro tio aqui o/

Tenho a seguinte sprite:


Ela é o cano de um canhão completo,poderia usar uma surface para desenha-la mas optei por colocar uma sprite mesmo...

Ao soltar o espaço um obj_power é criado , porém queria que fosse criado no buraco do cano e respeitasse o ângulo do mesmo,sendo lançado na angulação correta.

Para o obj_power ser criado no buraco do cano,coloquei no step:

Código:
global.xoff= sprite_xoffset+209 // Guarda a coordenada x para o buraco do cano
global.yoff= sprite_yoffset+9 // Guarda a coordenada y para o buraco do cano
Eu sei que o ponto é único e não muda de lugar, logo, não faz muito sentido colocar no step,mas da na mesma que colocar no create, então por organização própria coloquei no step mesmo...

E no create do obj_power,para respeitar a angulação:

Código:
direction=obj_cano.image_angle //Indica que a direção é igual ao angulo da imagem do obj_cano
x=obj_cano.x+lengthdir_x(global.xoff,direction); //Quando criado ,nascera no raio xoff com a angulação direction
y=obj_cano.y+lengthdir_y(global.yoff,direction);//Quando criado ,nascera no raio yoff com a angulação direction

A angulação do arremesso está correta, o problema é que o obj_power não acompanha o ângulo do obj_cano,ou seja, é criado sempre no mesmo ponto, a sprite_xoffset e sprite_yoffset não acompanham o angulo do obj_cano.Eu acho que o problema está no primeiro code, pois quando o obj_power é criado, somente no ângulo 0 ele é criado no buraco do cano ...

Uma coisa que não entendi , é que a cada vez que subo o angulo com o direcional pra cima, o obj_power é criado mais pra trás, como se acompanhasse o eixo x mas não o eixo y, isso explicaria porque somente no angulo 0 ele é criado no cano...


Já tentei resolver isso de várias formas, coloquei outro lenght nos off's, não usei lenghts ,colocando o raio e a direção separados,etc...
Talvez o problema esteja na minha lógica mesmo...

Valeu,flws !!


Última edição por ChicoGamer em Sex 24 Abr 2015, 14:37, editado 1 vez(es)

ChicoGamer

Número de Mensagens : 23
Data de inscrição : 07/07/2014
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Problemas com sprite offset e lengthdir !!

Mensagem por alison.antonioloffi em Sex 24 Abr 2015, 13:20

Vc cria um obj_bola com a sprite de uma bola e coloca a origin no centro depois criar um obj_canhao com uma sprite quadrada de 128 em largura por 32 em altura de pois coloca o origin no centro a esquerda. No obj_bola vc coloca Create

{direction = obj_canhao.image_angle
speed = 5
move_contact_solid(direction,108)}

No obj_canhao Step

{if keyboard_check(vk_right) image_angle -=5
if keyboard_check(vk_left) image_angle +=5}

No obj_canhao Press

{instance_create(x,y,obj_bola)}

Depois vc coloca o obj_canhao no centro de uma room e testa !

Observação:
A fução move_contact_solid( argumento1 ,argumento2 ) serve para vc avançar argumento2 na direção argumento1

Espero que goste da minha resposta !!

alison.antonioloffi

Número de Mensagens : 11
Idade : 14
Data de inscrição : 27/02/2015
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Problemas com sprite offset e lengthdir !!

Mensagem por ChicoGamer em Sex 24 Abr 2015, 13:36

Obrigado por tentar ajudar , mas isso não vai dar certo , observe que o move_contact_solid move o objeto em uma determinada direção até que ele entra em contato com um objeto sólido e não em um ponto na sprite ....Eu preciso definir esse ponto na sprite , pois a origem na qual ele rotaciona é oposta ao buraco do canhao...

ChicoGamer

Número de Mensagens : 23
Data de inscrição : 07/07/2014
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Problemas com sprite offset e lengthdir !!

Mensagem por Thyago em Sex 24 Abr 2015, 14:28

Crie o tiro usando o xoff tanto no lengthdir_x quanto no lengthdir_y se não da erro mesmo, o raio é o tamanho do xoff apenas.


Código:
direction=obj_cano.image_angle //Indica que a direção é igual ao angulo da imagem do obj_cano
x=obj_angulo.x+lengthdir_x(global.xoff,direction); //Quando criado ,nascera no raio xoff com a angulação direction
y=obj_angulo.y+lengthdir_y(global.xoff,direction);//Quando criado ,nascera no raio xoff com a angulação direction
Apenas teste antes de dizer que esta errado

Thyago

Ranking : Nota B
Número de Mensagens : 1092
Idade : 30
Data de inscrição : 24/08/2009
Notas recebidas : D+B+B+C+A
Reputação : 31
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   :

Voltar ao Topo Ir em baixo

Re: Problemas com sprite offset e lengthdir !!

Mensagem por ChicoGamer em Sex 24 Abr 2015, 17:40

Nossa que desatenção a minha,é obvio que o raio tinha que ser só em x,puts...Vi que o código do alison.antonioloffi também funcionava,com alguns ajustes,me precipitei... Obrigado a ambos,joinha para os dois !! :C:

ChicoGamer

Número de Mensagens : 23
Data de inscrição : 07/07/2014
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Problemas com sprite offset e lengthdir !!

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


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