Ir para conteúdo
Fórum Script Brasil
  • 0

quebra cabeça em flash


prelih

Pergunta

Estou desenvolvendo uma serie de jogos em flash com action script 2.0, esses jogos são: quebra cabeça, memoria e caça palavras, primeiramente estou desenvolvendo o de quebra cabeça. Meu problema é o seguinte estou trabalhando com scene, o jogo de quebra cabeça vai ter uma 7 scene, mas o problema é quando eu tento monta o primeiro jogo na scene um por exemplo, o jogo da scene dois não funcionar. Queria uma ajuda pra mim resolver o problema. Estou usando o mesmo codigo para os dois scene a diferença é que o primeiro quebra cabeça é com 9 peças. O código da scene 1 sobrepõe o da scene 2, e vice-versa. Abaixo vai o codigo da scene 1 e 2. De já agradeço.

Codigo da scene 1:

// os Mc's targetcravo eles são as peças que são arrastadas e os Mc's ' alvocravos ' são o

// local onde os Mc's targetcravo devem ser colocados

stop();

//Inicio do bloco de programação

stop();

//inicialização das variaveis

var cont1:Number = 0;

var cont2:Number = 0;

var contador:Number = 0;

var i:Number = 0;

fundo._alpha = 30;

//os Mc's 'alvocravo' ficam invisiveis

for (var i = 0; i<9; i++) {

this["alvocravo"+i]._alpha = 0;

}

//posicoes finais dos objetos

//funcionalidades das peças

for (i=0; i<9; i++) {

this["posFim"+i] = this["alvocravo"+i]._x;

this["posFim"+i+20] = this["alvocravo"+i]._y;

}

//posicoes inicio dos objetos

for (i=0; i<9; i++) {

this["posInicio"+i] = this["targetcravo"+i]._x;

this["posInicio"+i+9] = this["targetcravo"+i]._y;

}

/*

** verifica em relação ao final do game

*/

function verifica() {

//se a variavél contador for igual a 9

if (contador == 9) {

this.swapDepths(this._parent.getNextHighestDepth());

// exibe na tela o texto abaixo no campo de texto dinâmico

//text03.htmlText = "Parabens você completou o quebra cabeça!";

//Desabilita a visibilidade das peças

for (var i = 0; i<9; i++) {

//para aparecer a imagem quando completa as peças

this["targetcravo"+i]._alpha = 0;

}

// coloca visivel a imagem do quebra cabeca completo sem as ' bordas '

contorno1.gotoAndPlay(2);

}

}

/*

** função que controla todo o game está é a função principal

*/

function geral() {

for (i=0; i<9; i++) {

// ao pressionar faça

this["targetcravo"+i].onPress = function() {

// ao clicar na peça especifica ele vai para o 'Depth' mais alto

this.swapDepths(this._parent.getNextHighestDepth());

// inicializa a ação de arrastar as peças

startDrag(this);

};

this["targetcravo"+i].onRelease = function() {

this.swapDepths(this._parent.getNextHighestDepth());

// para a ação de arrastar a peça

stopDrag();

// Se não estiver na area correta FAÇA:

if (!this.hitTest(this._parent["alvocravo"+this._name.substring(6, 8)])) {

// a peça retorna a posição inicial ( usa-se a classe do laco )

// abaixo encontra-se uma explicação a cerca desta classe do laco que foi utilizada

// my_mc = ' colocar o seu movie clip '

// _x = ' colocar a posição x '

// _y = ' colocar a posição y '

// my_mc.slideTo(_x,_y);

// o resultado é que o MC vai para a posição x e y passada dando para ver o 'trajeto' dele no palco

this._parent["targetcravo"+this._name.substring(6, 8)].slideTo(this._parent["posInicio"+this._name.substring(6, 8)], this._parent["posInicio"+this._name.substring(6, 8)+20]);

}else{

// Se estiver na area correta FAÇA:

for (i=0; i<9; i++) {

if (this._name.substring(6, 8) == i) {

this._parent["targetcravo"+this._name.substring(6, 8)]._x = this._parent["posFim"+this._name.substring(6, 8)];

this._parent["targetcravo"+this._name.substring(6, 8)]._y = this._parent["posFim"+this._name.substring(6, 8) + 20];

// verifica acerto

verifica(contador++);

// desabilita peça

this.enabled = false;

}

}

}

};

}

}

/*

** chama as funções geral e verifica

*/

geral();

verifica();

codigo da scene 2:

// os Mc's targetcravo eles são as peças que são arrastadas e os Mc's ' alvocravos ' são o

// local onde os Mc's targetcravo devem ser colocados

stop();

//Inicio do bloco de programação

stop();

//inicialização das variaveis

var cont1:Number = 0;

var cont2:Number = 0;

var contador:Number = 0;

var i:Number = 0;

fundo._alpha = 30;

//os Mc's 'alvocravo' ficam invisiveis

for (var i = 0; i<12; i++) {

this["alvocravo"+i]._alpha = 0;

}

//posicoes finais dos objetos

//funcionalidades das peças

for (i=0; i<12; i++) {

this["posFim"+i] = this["alvocravo"+i]._x;

this["posFim"+i+20] = this["alvocravo"+i]._y;

}

//posicoes inicio dos objetos

for (i=0; i<12; i++) {

this["posInicio"+i] = this["targetcravo"+i]._x;

this["posInicio"+i+12] = this["targetcravo"+i]._y;

}

/*

** verifica em relação ao final do game

*/

function verifica() {

//se a variavél contador for igual a 12

if (contador == 12) {

this.swapDepths(this._parent.getNextHighestDepth());

// exibe na tela o texto abaixo no campo de texto dinâmico

//text03.htmlText = "Parabens você completou o quebra cabeça!";

//Desabilita a visibilidade das peças

for (var i = 0; i<12; i++) {

//para aparecer a imagem quando completa as peças

this["targetcravo"+i]._alpha = 0;

}

// coloca visivel a imagem do quebra cabeca completo sem as ' bordas '

contorno1.gotoAndPlay(2);

}

}

/*

** função que controla todo o game está é a função principal

*/

function geral() {

for (i=0; i<12; i++) {

// ao pressionar faça

this["targetcravo"+i].onPress = function() {

// ao clicar na peça especifica ele vai para o 'Depth' mais alto

this.swapDepths(this._parent.getNextHighestDepth());

// inicializa a ação de arrastar as peças

startDrag(this);

};

this["targetcravo"+i].onRelease = function() {

this.swapDepths(this._parent.getNextHighestDepth());

// para a ação de arrastar a peça

stopDrag();

// Se não estiver na area correta FAÇA:

if (!this.hitTest(this._parent["alvocravo"+this._name.substring(6, 8)])) {

// a peça retorna a posição inicial ( usa-se a classe do laco )

// abaixo encontra-se uma explicação a cerca desta classe do laco que foi utilizada

// my_mc = ' colocar o seu movie clip '

// _x = ' colocar a posição x '

// _y = ' colocar a posição y '

// my_mc.slideTo(_x,_y);

// o resultado é que o MC vai para a posição x e y passada dando para ver o 'trajeto' dele no palco

this._parent["targetcravo"+this._name.substring(6, 8)].slideTo(this._parent["posInicio"+this._name.substring(6, 8)], this._parent["posInicio"+this._name.substring(6, 8)+20]);

}else{

// Se estiver na area correta FAÇA:

for (i=0; i<12; i++) {

if (this._name.substring(6, 8) == i) {

this._parent["targetcravo"+this._name.substring(6, 8)]._x = this._parent["posFim"+this._name.substring(6, 8)];

this._parent["targetcravo"+this._name.substring(6, 8)]._y = this._parent["posFim"+this._name.substring(6, 8) + 20];

// verifica acerto

verifica(contador++);

// desabilita peça

this.enabled = false;

}

}

}

};

}

}

/*

** chama as funções geral e verifica

*/

geral();

verifica();

Editado por prelih
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...