旋转时正反双面的实现

 

正反双面的本质: 两个照片/MC放在一起,坐标和宽度都一样!只是通过深度索引关系,来显示正面为其中的一张.

 

demo : http://3556.8b8b.info/swf/BothSides.swf

 

下面是最原始的代码:

 

 

import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.MouseEvent;

//Card1 Card是两个影片剪辑MC
var card1 :MovieClip= new Card1();// front
var card2 :MovieClip= new Card2();//back
var back:Sprite= new Sprite();//它主要用来改变下方位,不要它的话,反面的图片将会是倒置的.
back.name="cardBack";
card1.name = "cardFront";
card1.width = 300;
card1.height = 200;
card1.x =  -  card1.width / 2;
card1.y =  -  card1.height / 2;

card2.width = 300;
card2.height = 200;
card2.x =0//  -  card2.width / 2;
card2.y =card2.height//  -  card2.height / 2;
card2.rotationX=180
back.addChild(card2);
back.x= -  card2.width / 2;
back.y=-  card2.height / 2;


var container:Sprite= new Sprite();
container.x = 250;
container.y = 250;
this.addChild(container);
container.addChild(back);

container.addChild(card1);

//下面开始旋转container;
stage.addEventListener(MouseEvent.CLICK,onClick,false,1,true);
function onClick(e:MouseEvent=null)
{
 
container.rotationX +=  10;
container.rotationX=container.rotationX%360;

 trace("旋转角度为:"+container.rotationX);

 
 if(container.rotationX<270&&container.rotationX>=90) //这里不能写连等式
 {
  if(!container.getChildByName("cardBack")){
   container.addChild(back);
   }
  trace("back");
  if (container.getChildByName("cardFront"))
  {
   container.removeChild(card1);
  }

 }
 
 //if (container.rotationX<90&&container.rotationX>=0)
 else
 {
  if(!container.getChildByName("cardFront")){
   container.addChild(card1);
   }
 
  if (container.getChildByName("cardBack"))
  {
   container.removeChild(back);
  }
  trace("front");
 }


 
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值