Conectar-se
Quem está conectado
34 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 34 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 06/10/2013
Número de Mensagens : 76
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 3
Ver perfil do usuário

[Resolvido] Duvida sobre situação estranha

em Qui 17 Jul 2014, 08:49
Bom dia, estou a fazer um sistema de arrastar objecto para um local mas algo bizarro nas variáveis internas se passa, senão vejamos:  

  {
var i;
for (i = 0; i < 7; i += 1)
   {
   
   instance_create(35+i*120,253,control_de_espaco_obj)
   instance_create(35+i*120,343,control_de_espaco_obj)
   instance_create(35+i*120,433,control_de_espaco_obj)
   instance_create(35+i*120,523,control_de_espaco_obj)
   instance_create(35+i*120,612,control_de_espaco_obj)
   }
}

estas instâncias criadas são visualmente círculos redondos para sabermos os locais para onde podemos arrastar o obj principal.

Agora para o nosso obj principal ser criado:

if instance_place(x, y,control_de_espaco_obj )
{
with instance_nearest(x,y,control_de_espaco_obj)
{
cx = x //esta variavel foi criada no "create"
instance_create(cx,289,nequilas_normal_obj)
}
}

O nosso objecto neste código é  o de arrastar, mas serve para criar o obj principal no lugar certo que é o nequilas_normal_obj.


Agora a cena bizarra:

na realidade este código como está funciona perfeitamente excepto que a posicao x do ultimo circulo á direita é sempre igual ao pnultimo, porque será??????????????? se eu crio 7 círculos porque o sexto e sétimo circulo tem a mesma posição x se visualmente estão bem posicionados?????????

Alguém sabe como obter as coordenadas todas em modo?

agradeço a vossa ajuda.


Edit: talvez eu não esteja a obter a coordenada x correta do "control_de_espaco_obj" para usar no instante_create, se for esse o caso diga-me uma maneira de o fazer. obrigado

edit:
pessoal o assunto está resolvido, assim que tiver mais tempo ponho aqui a solução, não me irei esquecer por isso peço que não respondam aqui nem fechem o tópico.

obrigado.
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: [Resolvido] Duvida sobre situação estranha

em Qui 17 Jul 2014, 22:18
Destrancado a seu pedido.
avatar
Data de inscrição : 06/10/2013
Número de Mensagens : 76
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 3
Ver perfil do usuário

Re: [Resolvido] Duvida sobre situação estranha

em Qui 17 Jul 2014, 22:41
@PedroX escreveu:Destrancado a seu pedido.

obrigado pedro.


É o seguinte:

Depois de muito pensar e tentar resolver o problema por mim conseguí e passo a explicar caso alguém futuramente tenha um problema parecido ou seja fica para referencia:

no caso:

if instance_place(x, y,control_de_espaco_obj )
{
with instance_nearest(x,y,control_de_espaco_obj)
{
cx = x //esta variavel foi criada no "create"
instance_create(cx,289,nequilas_normal_obj)
}
}

em primeiro lugar a partir do momento em que me refiro a "with instance_nearest(x,y,control_de_espaco_obj)"  este x e y que está neste pedaço de código já se refere á posição x que eu quero, ou seja não preciso do

"cx = x //esta variavel foi criada no "create"
instance_create(cx,289,nequilas_normal_obj)"

para nada, então basta pôr "instance_create(x,y,nequilas_normal_obj)" a seguir a "with instance_nearest(x,y,control_de_espaco_obj)",

mesmo assim a situação é a mesma e eu penso que isso acontece porque estes círculos são criados mais do que uma vez e assim ( talvez muda a id do circulo (obj)) e por isso muda também a variável interna deste.

O que fiz foi criar outro obj que fica em cima do circulo chamado "grid" mas invisível e meter este código no step event do obj que eu quero por no lugar do circulo, código:

with instance_nearest(x,y,grid)
{
global.pos_x = x
}

x = global.pos_x

assim consigo alinhar os objs na mesma linha com a mesma distancia uns dos outros no lugar correcto.

Tentei não ser confuso, se o fui peço desculpa apenas tentei explicar como resolvi o problema.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum