Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

_Brunoo_

Loteamento

Recommended Posts

Boa tarde a todos , estou novamente com problema no meu loteamento em flash, a minha area tem 1600 x 900 e tenho um fundo com a planta (instancia "fundo") que esta 2057 x 1195, encima do "fundo" colei o seguinte ac :

on (press) {
        startDrag(this, false, 1200,700,400,100);
        this.useHandCursor = true;
}
on (release, releaseOutside, rollOut, dragOut) {
        stopDrag();
        this.useHandCursor = false;
}
on ( keyPress "<Right>") {
        this._x = this._x+50;
                if(this._x>1200){
                        setProperty(this, _x,1200);
                                }
}
on (keyPress "<Left>") {
        this._x = this._x-50;
                if(this._x<400){
                        setProperty(this, _x,400);
                                }
}

on ( keyPress "<Up>") {
        this._y = this._y+50;
                if(this._y>700){
                        setProperty(this, _y,700);
                                }
}
on (keyPress "<Down>") {
        this._y = this._y-50;
                if(this._y<100){
                        setProperty(this, _y,100);
                                }
}

 

mas na ora de criar os botoes para os lotes dentro do movie clip eles nao ficam selecionados acredito seja por causa da funçao .. e se criar os botos na minha cena 1 os botoes nao acompanham o meu fundo :(

aqui esta um exemplo do que eu gostaria de fazer novamente agredeço a todos pela ajuda , este é com certeza o melhor forum ! abrç Clique aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse projeto foi feito em AS 3

E não AS 2 para começar...

 

O que você quer é criar botões que ao clicar ele mostre a area ou faça um relevo?

Pq você pode colocar no rollOver o efeito com o mouse

 

Ou você cria uma função chamada onSelectArea e faça o efeito que você quiser...

Ai conforme você passar de um pro outro você vai ativar esse efeito ou não.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse projeto foi feito em AS 3

E não AS 2 para começar...

 

O que você quer é criar botões que ao clicar ele mostre a area ou faça um relevo?

Pq você pode colocar no rollOver o efeito com o mouse

 

Ou você cria uma função chamada onSelectArea e faça o efeito que você quiser...

Ai conforme você passar de um pro outro você vai ativar esse efeito ou não.

 

Abraços

 

Projeto esse e meu projeto , o que preciso é fazer com que ao passar o mouse em cada lote ele mude de cor, e que apareçam as informaçoes la no topo onde tem os dados tecnicos , mesmo criando um simples botao dentro do movie clip ele nao fica selecionado quando coloco o mouse emcima ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça:

 

button.onRollOver = buttonSelected;
button.onRollOut = buttonDeselected;

function buttonSelected(){
	var my_color:Color = new Color(this);
	my_color.setRGB(0xFF0000);
}

function buttonDeselected(){
	var my_color:Color = new Color(this);
	my_color.setRGB(0x0000FF);
}

Veja que as funções estão "globalizadas"...

Então elas vão mudar a cor do botão que chamar elas.

 

Então tudo que você vai ter que fazer é dentro desses selected ou deselected colocar ele para abrir um MC com a informação referente a aquele MC

 

Lembrando que se desejar pegar o nome do movieclip

Faça this._name.

 

Abraços

 

 

PS: Teu site não abriu... abriu uma enorme tela preta... e só

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça:

 

button.onRollOver = buttonSelected;
button.onRollOut = buttonDeselected;

function buttonSelected(){
	var my_color:Color = new Color(this);
	my_color.setRGB(0xFF0000);
}

function buttonDeselected(){
	var my_color:Color = new Color(this);
	my_color.setRGB(0x0000FF);
}

Veja que as funções estão "globalizadas"...

Então elas vão mudar a cor do botão que chamar elas.

 

Então tudo que você vai ter que fazer é dentro desses selected ou deselected colocar ele para abrir um MC com a informação referente a aquele MC

 

Lembrando que se desejar pegar o nome do movieclip

Faça this._name.

 

Abraços

 

 

PS: Teu site não abriu... abriu uma enorme tela preta... e só

 

Humm nao era bem isso que precisava,, o problema e que esses botoes vao estar dentro de um movie clip que é controlado pelo mouse e pelas setas :

 

 

on (press) {
 startDrag(this, false, 1200,700,400,100);
 this.useHandCursor = true;
}
on (release, releaseOutside, rollOut, dragOut) {
 stopDrag();
 this.useHandCursor = false;
}
on ( keyPress "<Right>") {
 this._x = this._x+50;
 if(this._x>1200){
 setProperty(this, _x,1200);
 }
}
on (keyPress "<Left>") {
 this._x = this._x-50;
 if(this._x<400){
 setProperty(this, _x,400);
 }
}

on ( keyPress "<Up>") {
 this._y = this._y+50;
 if(this._y>700){
 setProperty(this, _y,700);
 }
}
on (keyPress "<Down>") {
 this._y = this._y-50;
 if(this._y<100){
 setProperty(this, _y,100);
 }
}

e dentro do movie clip nao funziona , so se tirar fora o AS acima indicado .. agradeço pela ajuda.

tente esperar um pouco que abre , e que nao esta pronto ainda e esta pesado

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 - Adicione a tag <code> ao fazer seus códigos para melhor leitura

 

Bom o fato é o seguinte, o que você quer fazer se você fica colocando botão por botão você vai ter um trabalho do caraio.... para conseguir o que você quer fazer

E do jeito que eu coloquei ali é mais generico e através de um array com um for você colocaria a mesma ação a todos os botões de uma feita só e eliminaria uma porrada de código desnecessário

 

Da para fazer isso que você quer com o this da mesma maneira...

 

Mas se quiser fazer com o exemplo q eu falei

 

Basta colocar no onPress o mesmo efeito

Chamando a função que eu coloquei ali

 

Fazendo assim:

on(press){
 buttonSelected(this);
}

function buttonSelected(button){
	var my_color:Color = new Color(button); 
 	my_color.setRGB(0xFF0000);
}

Mas já lhe aviso que se passar de 5 botões você vai tar perdendo teu tempo fazendo cópia de código desnecessário.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok,

 

Presta atenção eu não vo ensinar a fazer denovo :)

 

você vai criar duas bolinhas e vai instanciar de ball1 e ball2

 

Vai colocar elas no seu palco

 

Ai você vai Clicar sobre o frame e vai colocar o código:

var obj:Object = new Object();
var mc:MovieClip;
var record:MovieClip;

Key.addListener(obj);

ball1.onPress = pegaBola;
ball2.onPress = pegaBola;

function pegaBola(){
	startDrag(this, false, 1200,700,400,100);
	this.useHandCursor = true;
	var myColor1 = new Color(record);
	myColor1.setRGB(0xFF0000);
	
	var myColor2 = new Color(this);
	myColor2.setRGB(0xFF00FF);
	record = this;
		
	mc = this;
	trace(mc._name);
}

ball1.onRelease = ball1.onReleaseOutside = ball1.onRollOut = ball1.dragOut = function(){
		stopDrag();
 	this.useHandCursor = false;
}

ball2.onRelease = ball2.onReleaseOutside = ball2.onRollOut = ball2.dragOut = function(){
		stopDrag();
 	this.useHandCursor = false;
}

obj.onKeyDown = function(){
	mc.stopDrag();
	if(Key.getCode() == Key.UP){
		mc._y = mc._y+50;
		if(mc._y>700){
			setProperty(mc, _y,700);
		}
	}else if(Key.getCode() == Key.DOWN){
 	mc._y = mc._y-50;
		if(mc._y<100){
		setProperty(mc, _y,100);
		}
	}else if(Key.getCode() == Key.RIGHT){
		mc._x = mc._x+50;
		if(mc._x>1200){
			setProperty(mc, _x,1200);
		}
	}else if(Key.getCode() == Key.LEFT){
		mc._x = mc._x-50;
		if(mc._x<400){
 		setProperty(mc, _x,400);
		}
	}
}

Isso ai vai fazer o que você quer fazer...

 

Não tem mistério é copiar e colar.

 

E o exemplo ta aqui:

exemple001.fla

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza.. mas ai as "bolas" nao estao seguindo o fundo , o botao tem que ficar parado no seu lote ele so tem que mudar a cor quando passar o mouse tente ver o exemplo que postei que vai intender melhor.. é bem mais simples do que parece Obrigado berseck

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguindo que fundo amigo?

 

No teu exemplo é um mapa que da pra arrasta e mexer com as setas e mais nada......

Eu fiz exatamente isso só que com 2 bolas da maneira correta e sem ON

 

Quanto a mudar de cor só com rollOver eu coloquei no Press mas você pode colocar no rollOver

E se você quer que os botões não se mexam então você tem que criar varios MovieClips ESTATICOS ou seja não vai por ação nenhuma neles a não ser a do rollOver, eu fiz o exemplo acima de acordo com o código que você passou.

 

O que você quer é uma porrada de botão junto.

Basta colocar um quadrado no palco instanciar, e na action colocar onRollOver e fazer o código de cor que eu te passei

Ai ele não vai se mover para lugar algum e só vai mudar de cor.

 

Quem ta complicando é tu

 

A resposta pro que você pediu ta la em cima a muito tempo

O que você quer é isso aqui:

 

select_unselect.fla

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguindo que fundo amigo?

 

No teu exemplo é um mapa que da pra arrasta e mexer com as setas e mais nada......

Eu fiz exatamente isso só que com 2 bolas da maneira correta e sem ON

 

Quanto a mudar de cor só com rollOver eu coloquei no Press mas você pode colocar no rollOver

E se você quer que os botões não se mexam então você tem que criar varios MovieClips ESTATICOS ou seja não vai por ação nenhuma neles a não ser a do rollOver, eu fiz o exemplo acima de acordo com o código que você passou.

 

O que você quer é uma porrada de botão junto.

Basta colocar um quadrado no palco instanciar, e na action colocar onRollOver e fazer o código de cor que eu te passei

Ai ele não vai se mover para lugar algum e só vai mudar de cor.

 

Quem ta complicando é tu

 

A resposta pro que você pediu ta la em cima a muito tempo

O que você quer é isso aqui:

 

select_unselect.fla

 

Abraços

 

sim e isso ! e funzionaria muito bem se meu fundo fosse estatico. Mas nao é , ele se mexe e o botao fica sempre no mesmo lugar cada botao tem que estar SEMPRE no seu lote .. mas beleza obrigado mesmo assim pela ajuda ..

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

e foi o que eu pensei antes de começar a fazer o projeto, mas infelizmente nao da porque no movie clip tem uma AC de StartDrag e Keypress dae ele nao le os meus botoes...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom isso que você quer

 

Teoricamente só é possivel fazer com AS 3.0

AS 2 não deixa você colocar uma ação no pai e depois nos filhos

 

Então o metodo para fazer isso é você coloca um fundo dentro do pai que é o que vai andar

 

Ai você vai fazer a posição dos filhos dinamica. Como se fosse um layout liquido que elas vão depender da posição do fundo

 

OU seja o botão vai ter posição X assim:

botao._x = fundo._x + 10;
E assim por diante, você vai ter que colocar um valor referencial para que eles andem juntos.

 

Agora caso queira fazer como eu falei

Botar uma ação no pai e depois nos filhos (que seria o correto)

Você vai ter que fazer isso ai em AS 3

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom isso que você quer

 

Teoricamente só é possivel fazer com AS 3.0

AS 2 não deixa você colocar uma ação no pai e depois nos filhos

 

Então o metodo para fazer isso é você coloca um fundo dentro do pai que é o que vai andar

 

Ai você vai fazer a posição dos filhos dinamica. Como se fosse um layout liquido que elas vão depender da posição do fundo

 

OU seja o botão vai ter posição X assim:

botao._x = fundo._x + 10;
E assim por diante, você vai ter que colocar um valor referencial para que eles andem juntos.

 

Agora caso queira fazer como eu falei

Botar uma ação no pai e depois nos filhos (que seria o correto)

Você vai ter que fazer isso ai em AS 3

 

Abraços

 

Entendi, pena que nao sei as3,ja estou fazendo de outra maneira que nao vai ficar tao legal mas beleza,valew pela ajuda !

abrç

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.