需求其实很简单,就是实施反映当前哪些房间住人,有几个人

主要客户希望用直观的平面方式展示出来,所以综合考虑后用flash来实现

也是第二次用as3这东东写应用,哈哈

先看效果图:

因为楼层和布局不会变所以没有做成可配置的

下面是代码:

场景中第一帧上面的代码

stop();
//加载需要的包
import com.greensock.*;
import com.greensock.easing.*;
import flash.text.TextFormat;
import fl.managers.StyleManager;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.display.MovieClip;//设置字体样式
var style:TextFormat = new TextFormat();
style.size = 24;
style.color = 0x000000;
StyleManager.setStyle("textFormat",style);//画布大小;
var sw:Number = stage.stageWidth;
var sh:Number = stage.stageHeight;//创建房子显示对象
var houses:houseList=new houseList();
addChild(houses);//选项显示对象
var msg:showMsg = new showMsg();
addChild(msg);
msg.x=(stage.stageWidth-msg.width)/2;
msg.y=(msg.height*-1)-20;
msg.ey=Number((stage.stageHeight-msg.height)/2);
msg.alpha = 0;//楼层容器
var floors:floors_mc = new floors_mc();
this.addChild(floors);
floors.alpha=0;
floors.visible=false;

house类的代码

package
{import flash.display.MovieClip;import flash.events.Event;import flash.events.MouseEvent;import com.greensock.*;import com.greensock.easing.*;import flash.text.TextFormat;import fl.managers.StyleManager;import fl.data.DataProvider;/*** ...* @author purecolor@foxmail.com*/public class house extends MovieClip{private var _floors:DataProvider;private var _name:String;private var _houseName:String;public function house() {super();_floors = new DataProvider();_name = ((this.toString()).split(" "))[1].replace("\]","");init();}private function init():void{switch(_name) {case("house_1"):_houseName = "一号楼";_floors.addItem( { label:"一层", data:"house_1_floor_1" } );_floors.addItem( { label:"二层", data:"house_1_floor_2" } );_floors.addItem( { label:"三层", data:"house_1_floor_3" } );_floors.addItem( { label:"四层", data:"house_1_floor_4" } );break;case("house_2"):_houseName = "二号楼";_floors.addItem( { label:"一层", data:"house_2_floor_1" } );_floors.addItem( { label:"二层", data:"house_2_floor_2" } );_floors.addItem( { label:"三层", data:"house_2_floor_3" } );break;case("house_3"):_houseName = "三号楼";_floors.addItem( { label:"一层", data:"house_3_floor_1" } );_floors.addItem( { label:"二层", data:"house_3_floor_2" } );break;case("house_4"):_houseName = "六号楼";_floors.addItem( { label:"一层", data:"house_4_floor_1" } );_floors.addItem( { label:"二层", data:"house_4_floor_2" } );break;case("house_5"):_houseName = "五号楼";_floors.addItem( { label:"一层", data:"house_5_floor_1" } );_floors.addItem( { label:"二层", data:"house_5_floor_2" } );break;}this.addEventListener(MouseEvent.MOUSE_OVER, handleOver);this.addEventListener(MouseEvent.MOUSE_OUT, handleOut);this.addEventListener(MouseEvent.CLICK, handleClick);}private function handleOver(e:MouseEvent):void {TweenMax.to(this, 1, {glowFilter:{color:0x9900ff, alpha:1, blurX:10, blurY:10, strength:2}});}private function handleOut(e:MouseEvent):void {TweenMax.to(this, 1, {glowFilter:{alpha:0}});}private function handleClick(e:MouseEvent):void{var root:MovieClip = MovieClip(root as MovieClip);var msg:MovieClip = root["msg"];var timeline:TimelineLite = new TimelineLite();timeline.append(new TweenMax(msg, 0.5, { y:msg.height*-1, alpha:0 , ease:Quad.easeInOut}));timeline.append(new TweenMax(msg, 0.5, { y:msg.ey, alpha:1 , ease:Quad.easeInOut} ));msg.nameTxt.text = _houseName;msg.msgList.clearSelection();msg.msgList.dataProvider = _floors;}}}

floors_mc类的代码

package
{import com.greensock.*;import com.greensock.easing.*;import fl.managers.StyleManager;import flash.events.Event;import flash.events.MouseEvent;import flash.display.MovieClip;import flash.utils.Timer;import flash.events.TimerEvent;/*** ...* @author purecolor@foxmail.com*/public class floors_mc extends MovieClip{private var __floorsClose:MovieClip;public function floors_mc() {super();//init();}private function init():void{__floorsClose = getChildByName("floors_close") as MovieClip;__floorsClose.addEventListener(MouseEvent.CLICK, handleCloseFloor);}private function handleCloseFloor(e:MouseEvent):void{TweenMax.to(this, 1, {alpha:0 , ease:Back.easeOut });var times:Timer = new Timer(500,1);times.addEventListener(TimerEvent.TIMER, setvf);times.start();}private function setvf(e:TimerEvent):void{if(this.numChildren>2) this.removeChild(this.getChildAt(2));this.visible = false;}public function showFloor(e:String):void{if(this.numChildren>2) this.removeChild(this.getChildAt(2));var _hid:String = e.split("_")[0];var _fid:String = e.split("_")[1];var floor_mc:MovieClip;var hf:String = "house_" + _hid + "_floor_" + _fid;switch(hf) {case("house_1_floor_1"):floor_mc = new house_1_floor_1;break;case("house_1_floor_2"):floor_mc = new house_1_floor_2;break;case("house_1_floor_3"):floor_mc = new house_1_floor_3;break;case("house_1_floor_4"):floor_mc = new house_1_floor_4;break;case("house_2_floor_1"):floor_mc = new house_2_floor_1;break;case("house_2_floor_2"):floor_mc = new house_2_floor_2;break;case("house_2_floor_3"):floor_mc = new house_2_floor_3;break;case("house_3_floor_1"):floor_mc = new house_3_floor_1;break;case("house_3_floor_2"):floor_mc = new house_3_floor_2;break;case("house_4_floor_1"):floor_mc = new house_4_floor_1;break;case("house_4_floor_2"):floor_mc = new house_4_floor_2;break;case("house_5_floor_1"):floor_mc = new house_5_floor_1;break;case("house_5_floor_2"):floor_mc = new house_5_floor_2;break;}this.addChild(floor_mc);floor_mc.y = 50;floor_mc.alpha = 0;TweenMax.to(floor_mc, 1, {alpha:1 , ease:Back.easeOut } );trace(this.numChildren);}}}

room类的代码

package
{import fl.controls.Label;import flash.display.MovieClip;import flash.display.Shape;import flash.display.Sprite;import flash.events.Event;import com.greensock.*;import com.greensock.easing.*;import flash.events.MouseEvent;import flash.geom.PerspectiveProjection;import flash.text.TextField;import flash.text.TextFieldAutoSize;import flash.text.TextFormat;/*** ...* @author purecolor@foxmail.com*/public class room extends MovieClip{private var _name:String;private var _item:XMLList;private var _house:String;public function room() {this.addEventListener(Event.ADDED_TO_STAGE, handleAdded);}private function handleAdded(e:Event):void{_name = (((this.toString()).split(" "))[1].replace("\]", "").split("_"))[1];var xmlData:XML = MovieClip(root as MovieClip)["xmlData"];_item = xmlData.house.floor.room.(@num  == _name );if (_item.@roomer > 0) {TweenMax.to(this, 1, {colorTransform:{tint:0xF22408, tintAmount:0.4}});}if (int(_name)<2100||int(_name)>3100) {for (var i:int = 0, len:int = _item.@roomer; i < len; i++) {var _per:per = new per;this.addChild(_per);_per.y = this.height / 2;_per.x = (this.width - 16 * len) / 2+16*i;}}if (_item.@roomer > 0) showName(_item);}private function showName(e:XMLList):void {var _shape:MovieClip = new MovieClip;var len:Number = e.children().length();var _h:Number = len * 20;var _tw:Number = 0;for (var i:int = 0; i < len; i++){var __i:Number = ((e.pre[i].@name).toString()).length * 14;_tw = (__i > _tw)?__i:_tw;}var __w:Number = (_tw > this.width)?(_tw - this.width) / 2:0;var _maxw:Number = (_tw > this.width)?_tw:this.width;var x:Number = (this.width - (this.width)) / 2-__w, y:Number = 0;var ud:Boolean = false;var _w:Number = this.width + __w * 2;if (this.y > this.parent.height/4) {y = this.height + 5;ud = true;}else {y = -_h - 5;ud = false;}if (len > 0) {_shape.graphics.lineStyle(1, 0x000000);_shape.graphics.beginFill(0xffffff);_shape.graphics.drawRoundRect(x, y, _w, _h, 6);if (ud) {//下_shape.graphics.moveTo(this.width/2-5, y);_shape.graphics.lineTo(this.width/2, y-5);_shape.graphics.lineTo(this.width/2+5, y);}else {//上_shape.graphics.moveTo(this.width/2-5, y+_h);_shape.graphics.lineTo(this.width/2, y+_h+5);_shape.graphics.lineTo(this.width/2+5, y+_h);}_shape.graphics.endFill();addChild(_shape);              var _nameLabel:TextField = new TextField();_shape.addChild(_nameLabel);_nameLabel.width = _maxw;_nameLabel.autoSize = TextFieldAutoSize.CENTER ;//_nameLabel.border = true;if(x<0) _nameLabel.x -= (Math.abs(x));trace(x);trace(_nameLabel.x);trace('---');for (var _i:int = 0; _i < len; _i++){_nameLabel.appendText(e.pre[_i].@name+"\n");}if (ud) {_nameLabel.y=y+(_h-_nameLabel.height)/2;}else {_nameLabel.y = y+(_h-_nameLabel.height)/2;}}}}}

showMsg类的代码

package
{import fl.controls.Label;import fl.controls.List;import flash.display.MovieClip;import com.greensock.*;import com.greensock.easing.*;import flash.events.Event;import flash.events.MouseEvent;import flash.text.TextFormat;import fl.managers.StyleManager;/*** ...* @author purecolor@foxmail.com*/public class showMsg extends MovieClip{private var __btnClose:MovieClip;private var __msgList:List;private var __nameTxt:Label;public var ey:Number;public function showMsg() {super();__btnClose = getChildByName("btnClose") as MovieClip;__msgList = getChildByName("msgList") as List;__nameTxt = getChildByName("nameTxt") as Label;__msgList.rowHeight = 36;__btnClose.addEventListener(MouseEvent.CLICK, handleClick);__msgList.addEventListener(Event.CHANGE, showData);}function handleClick(e:MouseEvent):void{TweenMax.to(this, 0.5, { y:this.height*-1, alpha:0 , ease:Back.easeOut});}function showData(e:Event):void{var tid:String=e.target.selectedItem.data;TweenMax.to(this, 0.5, { y:this.height * -1, alpha:0 , ease:Back.easeOut } );var root:MovieClip = MovieClip(root as MovieClip);var floor_mc:MovieClip;switch(tid) {case("house_1_floor_1"):floor_mc = new house_1_floor_1;break;case("house_1_floor_2"):floor_mc = new house_1_floor_2;break;case("house_1_floor_3"):floor_mc = new house_1_floor_3;break;case("house_1_floor_4"):floor_mc = new house_1_floor_4;break;case("house_2_floor_1"):floor_mc = new house_2_floor_1;break;case("house_2_floor_2"):floor_mc = new house_2_floor_2;break;case("house_2_floor_3"):floor_mc = new house_2_floor_3;break;case("house_3_floor_1"):floor_mc = new house_3_floor_1;break;case("house_3_floor_2"):floor_mc = new house_3_floor_2;break;case("house_4_floor_1"):floor_mc = new house_4_floor_1;break;case("house_4_floor_2"):floor_mc = new house_4_floor_2;break;case("house_5_floor_1"):floor_mc = new house_5_floor_1;break;case("house_5_floor_2"):floor_mc = new house_5_floor_2;break;}root["floors"].visible = true;TweenMax.to(root["floors"], 2, {alpha:1 , ease:Back.easeOut } );root["floors"].addChild(floor_mc);floor_mc.y = 50;//trace(root["floors"].numChildren);//trace(root["floors"]+" : "+floor_mc);}}}

转载于:https://www.cnblogs.com/purecolor/archive/2011/07/19/2110148.html

flash的一个展示效果相关推荐

  1. 一个挺酷的flash图片展示效果

    为了做一个视频列表,在网上找了一个挺酷的flash图片展示效果,源代码的组件名称为DisplayShelf,有另外一个相同效果的组件叫CoverFlow. 原来的例子并没有实现单击当前图片的事件,为了 ...

  2. 做出的一个图片的自动展示效果(JS版本)

    在国外的网站看到一个很不错的图片自动展示效果,于是就自己做了起来,在查看代码时发现是一个JavaScript爱好者自己写了一个库文件来调用,确实看的不太懂,但效果是做出来了,页面的调用代码只需引用固定 ...

  3. 画一个椭圆形带扩散效果波纹展示效果

    需求描述 画一个椭圆形带扩散效果波纹展示效果 问题解决 <div class="server"><div class="s1">< ...

  4. css 风琴,玩一下纯 CSS 折腾的一个叫什么手拉风琴的图片展示效果

    原标题:玩一下纯 CSS 折腾的一个叫什么手拉风琴的图片展示效果 好久没更新的公众号终于更新了,但没有太多内容,主要是也不知道写什么,更关键是已经很久没有写 CSS 的东西了,中午没吃到鸡,就一边观战 ...

  5. 使用HTML5和jQuery插件Quicksand实现一个超酷的星际争霸2兵种分类展示效果

    为什么80%的码农都做不了架构师?>>>    日期:2011/11/01 来源:GBin1.com 因为本人是星际争霸系列游戏的忠实拥簇,所以在今天的jQuery教程中,我们将使用 ...

  6. SlideView 图片滑动(扩展/收缩)展示效果

    滑动展示效果主要用在图片或信息的滑动展示,也可以设置一下做成简单的口风琴(Accordion)效果. 这个其实就是以前写的图片滑动展示效果的改进版,那是我第一篇比较受关注的文章,是时候整理一下了. 有 ...

  7. 《JavaScript 实战》:实现图片幻滑动展示效果

    滑动展示效果主要用在图片或信息的滑动展示,也可以设置一下做成简单的口风琴(Accordion)效果.这个其实就是以前写的图片滑动展示效果的改进版,那是我第一篇比较受关注的文章,是时候整理一下了. 有如 ...

  8. JavaScript 图片滑动展示效果javascript

    javascript 图片滑动展示效果 更新版本:slideview 图片滑动(扩展/收缩)展示效果 看到jquery实例:图片展示效果后,我也想拿来试试,但我不太喜欢用框架,所以自己做了个. 其中的 ...

  9. jQuery实例:图片展示效果

    原文地址为: jQuery实例:图片展示效果 开始之前,我就喜欢先看一下效果: 张娜拉,韩国的 My Digital Story 不知道是什么图来的 我的Logo,Studio拼错了都不知道,汗一个. ...

最新文章

  1. 三本毕业后,我进入了世界五百强
  2. [watevrCTF-2019]Pickle Store
  3. Python 深度学习目标检测评价指标 :mAP、Precision、Recall、AP、IOU等
  4. 自定义 View 功能上线,你的小程序可以更多变
  5. 002 模板实参推断、重载与模板
  6. 什么是485光端机,485数据光端机产品介绍
  7. (转) Hibernate注解开发
  8. 视图单行子查询返回mysql,Oracle命令整理 - osc_sj1kgo4z的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. Django uplodify 多文件同时上传
  10. Latex 编译错误 Error Launching Console Application XeLaTeX ...系统找不到指定的文件。
  11. excel删除行闪退_excle2017打开就闪退:excel表格打开闪退怎么办
  12. 如何让电脑的时间显示到秒
  13. 【小程序按钮控制视频播放暂停】
  14. 自制RS232转485通信模块
  15. 怎么依靠网络赚钱,网上可以做什么副业
  16. 【CSS】尺寸和边框、盒子模型、外边距_02
  17. 国学经典大全android,国学经典大全
  18. 【Python】数据可视化-散点图绘制
  19. 用GitHub,Markdown和Gitbook写读书笔记
  20. vue pc商城---最终篇

热门文章

  1. 惊呆了,电子表格还可以这么玩~~
  2. 图像拼接(二):柱面投影+模板匹配+渐入渐出融合(GPU版)
  3. 拍结婚登记照有什么要求?注意这几点让你拍出好看照片
  4. nginx的Rewrite规则详解
  5. python pyplot bar 参数_Python Matplotlib.pyplot.barh()用法及代码示例
  6. 微信小程序:errMsg“:“navigateTo:fail can not navigateTo a tabbar page 报错问题
  7. 附录2 以太坊:下一代智能合约和去中心化应用平台(选译)
  8. Chantress 目录 (2005.03.22/ 整理和使用ShitMp3 修改MP3信息)
  9. html5重置按钮,25-普通按钮-提交按钮-重置按钮
  10. Python基础知识与常用数据类型