Jogo De relógios com Angulos
Boa tarde a todos, estou com dificuldade de fazer um jogo de relógio com a visualização dos ângulos.
Na verdade funciona o seguinte, o relógio tem os ponteiro que quando eu aumento e diminuo eles aparecem o ângulo entre os ponteiros.
CÓDIGO:
const TO_DEGREE:Number = 180/Math.PI;
//Pode Apagar (Apenas Teste):
trace(TO_DEGREE)
const TO_DEGREE2:Number = 180/Math.PI;
var teste1:Number = 0;
var teste2:Number = 0;
var i:Number = 0;
var grau:Number;
var drot;
var drot2;
var contador:Number = 0;
var rot:Number;
var rot2:Number;
var segundos:Number = 0;
var minutos:Number = 0;
var horas:Number = 0;
var size:uint = 100;
var roundObject:Shape = new Shape();
/*
Pode Apagar:
var teste3:Number = */
/*
Pode Apagar:
1*/
addEventListener(MouseEvent.MOUSE_DOWN, startRotate, true);
addEventListener(MouseEvent.MOUSE_UP, stopRotate, true);
/*
Pode Apagar:
2*/
addEventListener(MouseEvent.MOUSE_DOWN, startRotate2, true);
addEventListener(MouseEvent.MOUSE_UP, stopRotate2, true);
var maxRotSpeed:Number = .1;
var rotScale:Number = 0.2;
function startRotate(e:MouseEvent):void
{
// Ocorrer o cálculo ocorra sempre que o mouse se move,
// não apenas quando o botão do mouse é clicado
myMc.addEventListener(MouseEvent.MOUSE_MOVE,onMouseMove);
}
function startRotate2(e:MouseEvent):void
{
// Ocorrer o cálculo ocorra sempre que o mouse se move,
// não apenas quando o botão do mouse é clicado
myMc2.addEventListener(MouseEvent.MOUSE_MOVE,onMouseMove2);
}
this.addChild(roundObject);
function onMouseMove(e:MouseEvent):void {
var dx:int = stage.mouseX - myMc.x;
var dy:int = stage.mouseY - myMc.y;
rot = Math.atan2(dy, dx) * TO_DEGREE2;
trace("Seta Pequena: "+Math.abs(Math.floor(rot)))
Mminutos();
teste1 = Math.floor(rot);
drot = rot - myMc.rotation;
grau = teste1-teste2;
trace("Grau: "+Math.abs(grau));
angulo.text = String(Math.abs(grau));
/*if (myMc.rotation >= -90 && myMc.rotation < 0)
{
trace('teste1');
trace('teste2');
g2.visible =false;
g1.visible = true;
t1.visible = true;
t2.visible = false;
g1.rotation +=drot;
}
else if (myMc.rotation < -90 && myMc.rotation >= -180)
{
trace('teste2');
g1.rotation +=drot;
g2.visible =false;
g1.visible = true;
t1.visible = true;
t2.visible = false;
}
else if (myMc.rotation < -180 || myMc.rotation < 180 && myMc.rotation > 90)
{
trace('teste3');
g1.visible = false;
g2.visible = true;
t1.visible = false;
t2.visible = true;
g2.rotation +=drot;
}
else if (myMc.rotation <=90 && myMc.rotation >= 0)
{
trace('teste4');
g1.visible = false;
g2.visible = true;
t2.visible = true;
t1.visible = false;
g2.rotation +=drot;
}*/
if (myMc.rotation > 0 && myMc.rotation < 90)
{
trace("teste1")
Teste2.visible = true;
Teste1.rotation +=drot;
Teste2.rotation +=drot;
}
else
{
Teste2.visible = false;
Teste2.x = 264,35;
Teste2.y = 200,6;
Teste1.x = 265,3;
Teste1.y = 200,95;
}
/*
else{
Teste1.visible = false;
Teste2.visible = false;
}*/
if(drot < -180)
{
trace("Menos de -180");
myMc.rotation = (-180);
trace(myMc.rotation);
/*
Pode Apagar (Apenas Teste):
drot =180;
if ( drot > -0 )
{
myMc.rotation = 180;
trace(myMc.rotation)
}
*/
trace(drot)
}
if(drot > 185 ){
trace("Maior de 180sdgsdfhd")
myMc.rotation = 180;
trace(myMc.rotation)
/*
Pode Apagar (Apenas Teste):
myMc.x = 266,75;
myMc.y = 201,8;
drot =180;
if ( drot > -180 )
{
drot =0;
angulo.text = "0";
trace("nada2");
}
*/
trace(drot)
}
else{
myMc.rotation += drot;
trace(myMc.rotation)
}
}
function onMouseMove2(e:MouseEvent):void {
var dx2:int = stage.mouseX - myMc2.x;
var dy2:int = stage.mouseY - myMc2.y;
rot2 = Math.atan2(dy2, dx2) * TO_DEGREE;
trace("Seta Grande: "+Math.abs(Math.floor(rot2)))
//verificar hora
Hhoras();
teste2 = Math.floor(rot2);
drot2 = rot2 - myMc2.rotation;
grau = teste1-teste2;
trace("Grau: "+Math.abs(grau));
angulo.text = String(Math.abs(grau));
if(drot2 < -180)
{
trace("Menos de -180")
myMc2.rotation = (-180);
trace(myMc2.rotation)
/*
Pode Apagar (Apenas Teste):
drot =180;
if ( drot > -0 )
{
myMc.rotation = 180;
trace(myMc.rotation)
}
*/
trace(drot2)
}
if(drot2 > 185 ){
trace("Maior de 180sdgsdfhd")
myMc2.rotation = 180;
trace(myMc2.rotation)
/*
Pode Apagar (Apenas Teste):
myMc.x = 266,75;
myMc.y = 201,8;*/
/*drot =180;*/
/*if ( drot > -180 )
{
drot =0;
angulo.text = "0";
trace("nada2");
}
*/
trace(drot2)
}
/*
Pode Apagar (Apenas Teste):
else if ( teste1 == 180 && teste2 == 180 )
{
trace('QQ360')
}
*/
else{
myMc2.rotation += drot2;
trace(myMc2.rotation)
}
}
function stopRotate(e:MouseEvent) {
// Em vez de chamar stopDrag, você simplesmente remove o Move de movimentação
myMc.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
}
function stopRotate2(e:MouseEvent) {
// Em vez de chamar stopDrag, você simplesmente remove o Move de movimentação
myMc2.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove2);
}
