[ActionScript 3.0] 翻牌效果,运用语法rotationY,PerspectiveProjection
package
{
import com.tweener.transitions.Tweener; import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.PerspectiveProjection;
import flash.geom.Point;
import flash.utils.getDefinitionByName;
import flash.utils.setTimeout; /**
* @author Frost.Yen
* @E-mail 871979853@qq.com
* @create 2015-7-29 下午4:53:03
*
*/
[SWF(width="1024",height="768",backgroundColor = "0x000000")]
public class FlipCard extends Sprite
{
[Embed(source="card.png")]
private var _card:Class;
[Embed(source="back.jpg")]
private var _back:Class;
public function FlipCard()
{
initViews();
}
private function initViews():void
{
var cardClass:Class = getDefinitionByName("FlipCard__card") as Class;
var backClass:Class = getDefinitionByName("FlipCard__back") as Class;
var cardBitmap:Bitmap = new cardClass();
var backBitmap:Bitmap = new backClass(); for(var i:int = 0;i<18;i++){
var card:Card = new Card();
var backBmp:Bitmap = new Bitmap();
var cardBmp:Bitmap = new Bitmap();
var backBmpd:BitmapData = new BitmapData(backBitmap.width,backBitmap.height);
var cardBmpd:BitmapData = new BitmapData(cardBitmap.width,cardBitmap.height);
backBmpd.draw(backBitmap);
cardBmpd.draw(cardBitmap);
backBmp.bitmapData = backBmpd;
cardBmp.bitmapData = cardBmpd;
cardBmp.width = backBmp.width = 79;
cardBmp.height = backBmp.height = 115;
card.getCard(cardBmp,backBmp);
card.x = 200 + i%6*110+79*0.5;
card.y = 100 + Math.floor(i/6)*140+115*0.5;
this.addChild(card);
var perspective:PerspectiveProjection = new PerspectiveProjection();
perspective.projectionCenter = new Point(card.x,card.y)
card.transform.perspectiveProjection = perspective;
}
setTimeout(turnTheCard,1000*2);
}
private function onCardClick(e:MouseEvent):void
{
turnTween(e.currentTarget as Card);
}
private function turnTheCard():void
{
for(var i:int = 0;i<this.numChildren;i++){
turnTween(this.getChildAt(i) as Card);
this.getChildAt(i).addEventListener(MouseEvent.CLICK,onCardClick);
}
}
private function turnTween(card:Card):void
{
Tweener.addTween(card,{rotationY:90,time:0.3,transition:"linear",onComplete:onComplete,onCompleteParams:[card]});
function onComplete(obj:Card):void
{
obj.swapCard();
Tweener.addTween(obj,{rotationY:180,time:0.3,transition:"linear",onComplete:function():void{obj.rotationY = 0;obj.setRotationY();}});
}
}
}
}
import flash.display.Bitmap;
import flash.display.Sprite; class Card extends Sprite{
private var _back:Sprite;
private var _card:Sprite;
private var _rotationY:Number;
public function Card(){
_back = new Sprite();
_card = new Sprite();
this.addChild(_back);
this.addChild(_card);
}
public function getCard(card:Bitmap,back:Bitmap):void
{
card.x = back.x = -back.width*0.5;
card.y = back.y = -back.height*0.5;
_card.addChild(card);
_back.addChild(back);
} public function swapCard():void
{
this.swapChildren(_card,_back);
setRotationY();
}
public function setRotationY():void
{
if(this.rotationY == 90){
_card.rotationY = _back.rotationY = 180;
}else if(this.rotationY == 0){
_card.rotationY = _back.rotationY = 0;
}
}
}
[ActionScript 3.0] 翻牌效果,运用语法rotationY,PerspectiveProjection的更多相关文章
- [ActionScript 3.0] 喷泉效果
pall为水珠影片剪辑 var count:int = 500; var zl:Number = 0.5; var balls:Array; balls = new Array(); for (var ...
- [ActionScript 3.0] 幻灯片效果实例
package com.fylibs.components.effects { import com.fylibs.utils.LoaderQueues; import com.tweener.tra ...
- [ActionScript 3.0] 正则表达式
正则表达式: 正则表达式最早是由数学家Stephen Kleene在对自然语言的递增研究成果的基础上,于1956提出来的.具有完整语法的正则表达式,主要使用在字符串的格式的匹配方面上,后来也逐渐应用到 ...
- ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调
近期项目中可能要用到Flash存取数据,并与JS互调,所以就看了一下ActionScript 3.0,现把学习结果分享一下,希望对新手有帮助. 目录 ActionScript 3.0简介 Hello ...
- [转]ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调
本文转自:http://www.cnblogs.com/artwl/p/3396330.html 近期项目中可能要用到Flash存取数据,并与JS互调,所以就看了一下ActionScript 3.0, ...
- css3之3D翻牌效果
最近一直在学css3,发现他真的是越来越牛逼.现在的css3已经不在是以前的css了,它能做出的功能效果是我们没法想象的了.它可以实现flash,可以制作一些js能做出来的效果,还可以写出ps做出 ...
- Cocos2d-x实现简单的翻牌效果
触发器互联网影响找了很多.有自己的点重写一个复杂的sprite类来实现.简单的操作来对引擎的使用CCOrbitCamera实现,但是,也存在一些问题,后变反了. 我在用的仅仅是一个简单的翻牌效果,点击 ...
- css3 翻牌效果
<!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/h ...
- HTML5 CSS3专题 诱人的实例 CSS3打造百度贴吧的3D翻牌效果
首先感谢w3cfuns的老师~ 今天给大家带来一个CSS3制作的翻牌效果,就是鼠标移到元素上,感觉可以看到元素背后的信息.大家如果制作考验记忆力的连连看.扑克类的游戏神马的,甚至给女朋友写一些话语,放 ...
随机推荐
- java算法 蓝桥杯 文化之旅
问题描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不同的国家可能有相同的文化.不同文化 ...
- Camera’s Depth Texture
[Camera’s Depth Texture] In Unity a Camera can generate a depth or depth+normals texture. This is a ...
- EXADATA智能扫描
提要:查询特定的要求:智能扫描只可用于完整的表或索引扫描.智能扫描只能用于直接路径读取: 直接路径读取会自动用于并行查询. 直接路径读取可以用于串行查询.默认情况下不使用它们进行小型表的串行扫描.使用 ...
- Mysql Join语法以及性能优化
引言 内外联结的区别是内联结将去除所有不符合条件的记录,而外联结则保留其中部分.外左联结与外右联结的区别在于如果用A左联结B则A中所有记录都会保留在结果中,此时B中只有符合联结条件的记录,而右联结相反 ...
- Excel数据透视表
Excel中每列是一个字段,每行是一条记录. 值字段设置,双击更改统计方法. 双击透视表中的数据可以看具体是哪些记录贡献的这些数据. 显示报表筛选页,生成多个工作簿.
- servletConfig的应用
在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数. 当servlet配置了初始化参数后,web容器在创建servlet实例对象 ...
- 实践作业4:Web测试实践(小组作业)每日任务记录3
会议时间:2017年12月23日 会议地点:东九教学楼自习区 主 持 人:王晨懿 参会人员:王晨懿.余晨晨.郑锦波.杨潇.侯欢.汪元 记 录 人:王晨懿 会议议题:小组作业第二阶段 下面是今天 ...
- Web测试实践--Rec 2
累计完成任务情况: 阶段内容 参与人 进行用户调研 小熊 开会学习作业要求,取得共识 全体 注: 1."阶段内容"划斜线表示完成.2.采用倒序. 具体情况: 小熊主要围绕以下几方面 ...
- Python 2.6 安装wxPython后提示"64.....32"错误解决办法
ImportError: /usr/local/lib/wxPython-unicode-2.8.10.1/lib/python2.6/site-packages/wx-2.8-mac-unicode ...
- java.lang.ClassCastException: com.liuyang.annocation.UserAction cannot be cast to com.liuyang.annocation2.UserAction at com.liuyang.annocation2.App.test
java.lang.ClassCastException: com.liuyang.annocation.UserAction cannot be cast to com.liuyang.annoca ...