用flash制作相册的源码(as3 xml 图片浏览)
主要功能:
⒈图片列表.
⒉控制加载的图片大小.
⒊图片切换效果(简单的遮照功能).
3od471637.jpg
DEMO.as:
package {
import fl . transitions .*;
import fl . transitions . easing .*;
import flash . text .*;
import flash . system . System ;
import flash . events . MouseEvent ;
import flash . events . Event ;
import flash . xml . XMLDocument ;
import flash . net . URLLoader ;
import flash . net . URLRequest ;
import flash . filters . GlowFilter ;
import flash . utils . Timer ;
import flash . events . TimerEvent ;
import flash . display .*;
public class demo extends Sprite {
//定义属性
private var firstLoad : Boolean = true ;
private var firsttxt : Boolean = true ;
private var border : Sprite = new Sprite ;
private var ThumbContainer : Sprite = new Sprite ;
private var mc : MovieClip = new MovieClip ;
private var txtmc : MovieClip = new MovieClip ;
private var BtnPrev : MovieClip = new MovieClip ;
private var BtnNext : MovieClip = new MovieClip ;
private var loadContainer : Sprite = new Sprite ;
private var loading : MovieClip = new MovieClip ;
private var num : uint = 0 ;
private var snum : uint = 11 ;
private var pag : uint = 1 ;
private var len : uint ;
private var XmlUrl : URLRequest ;
private var XmlLoader : URLLoader ;
private var PicUrl : URLRequest ;
private var ThumbUrl : URLRequest ;
private var loader : Loader ;
private var Text : TextField ;
private var _picGlowFilter : GlowFilter = new GlowFilter ( 0x999999 , 1 , 3 , 3 , 3 , 2 , false , false );
private var _glowFilter : GlowFilter = new GlowFilter ( 0x000000 ,. 8 , 2 , 2 , 4 , 1 , true , false );
var PicUrlAry : Array = new Array ();
var PicTextAry : Array = new Array ();
public function demo () {
stage . scaleMode = StageScaleMode . NO_SCALE ;
init (); //初始化
}
private function init (): void {
//初始化组件
var BtnPrev : MovieClip = getChildByName ( "pre" ) as MovieClip ;
BtnPrev . addEventListener ( MouseEvent . MOUSE_DOWN , preHandler );
BtnPrev . buttonMode = true ;
var BtnNext : MovieClip = getChildByName ( "nex" ) as MovieClip ;
BtnNext . addEventListener ( MouseEvent . MOUSE_DOWN , nextHandler );
BtnNext . buttonMode = true ;
//处理XML文件,处理完成后加载第一张大图和缩略图
XmlUrl = new URLRequest ( "piclist.xml" );
XmlLoader = new URLLoader ();
XmlLoader . load ( XmlUrl );
XmlLoader . addEventListener ( Event . COMPLETE , completeHandler );
}
//xml载入完成
function completeHandler ( event : Event ) {
var Xml : XML = new XML ( event . target . data );
len = Xml . pic . length ();
for ( var i : uint = 0 ; i < len ; i ++) {
PicUrlAry [ i ]=( Xml . pic [ i ]. url ). toString ();
PicTextAry [ i ]=( Xml . pic [ i ]. content ). toString ();
}
//载入第一张图片和缩略图
loadThumb ();
loadPic ( num );
}
//载入大图
function loadPic ( num : uint ): void {
PicUrl = new URLRequest ( PicUrlAry [ num ]);
loader = new Loader ();
loader . contentLoaderInfo . addEventListener ( Event . COMPLETE , PicLoadcomplete );
loader . load ( PicUrl );
showText ( num );
}
//载入大图完成后,显示遮罩
function PicLoadcomplete ( evt : Event ): void {
var a : uint = 0 ;
var b : uint = 0 ;
//控制图片大小,按比例缩放
a = Math . round (( 768 / evt . target . content . width )* 100 );
b = Math . round (( 400 / evt . target . content . height )* 100 );
if ( a < 100 || b < 100 ) {
if ( a < b ) {
evt . target . content . scaleX = a / 100 ;
evt . target . content . scaleY = a / 100 ;
} else {
evt . target . content . scaleX = b / 100 ;
evt . target . content . scaleY = b / 100 ;
}
}
mc . addChildAt (( evt . target . content ), 0 ); //加载在最底层
mc . x = 16 + 384 - evt . target . content . width / 2 ;
mc . y = 17 + 200 - evt . target . content . height / 2 ;
addChildAt ( mc , 1 );
RandomInMask ( mc ); //随机遮罩显示
if (! firstLoad ) {
mc . removeChildAt ( 1 ); //移除上层的图片。
}
firstLoad = false ;
}
//随机遮罩显示大图
function RandomInMask ( _mc : MovieClip ) {
var ran : Number ;
ran = Math . round ( Math . random () * 10 );
switch ( ran ) {
case 1 :
TransitionManager . start ( _mc ,{ type : Blinds , direction : Transition . IN , duration : 2 , easing : None . easeNone , numStrips : 10 , dimension : 0 });
break ;
case 2 :
TransitionManager . start ( _mc ,{ type : Blinds , direction : Transition . IN , duration : 2 , easing : None . easeNone , numStrips : 10 , dimension : 1 });
break ;
case 3 :
TransitionManager . start ( _mc , { type : Iris , direction : Transition . IN , duration : 2 , easing : Strong . easeOut , startPoint : 1 , shape : Iris . CIRCLE });
break ;
case 4 :
TransitionManager . start ( _mc , { type : Iris , direction : Transition . IN , duration : 2 , easing : Strong . easeOut , startPoint : 2 , shape : Iris . SQUARE });
break ;
case 5 :
TransitionManager . start ( _mc , { type : Iris , direction : Transition . IN , duration : 2 , easing : Strong . easeOut , startPoint : 5 , shape : Iris . CIRCLE });
break ;
case 6 :
TransitionManager . start ( _mc , { type : Iris , direction : Transition . IN , duration : 2 , easing : Strong . easeOut , startPoint : 8 , shape : Iris . SQUARE });
break ;
case 7 :
TransitionManager . start ( _mc , { type : Fade , direction : Transition . IN , duration : 9 , easing : Strong . easeOut });
case 8 :
TransitionManager . start ( _mc , { type : PixelDissolve , direction : Transition . IN , duration : 2 , easing : Regular . easeIn , xSections : 10 , ySections : 10 });
break ;
case 9 :
TransitionManager . start ( _mc , { type : Zoom , direction : Transition . IN , duration : 2 , easing : Elastic . easeOut });
default :
TransitionManager . start ( _mc , { type : Wipe , direction : Transition . IN , duration : 2 , easing : None . easeNone , startPoint : 1 });
break ;
}
}
//载入小图
function loadThumb (): void {
while ( ThumbContainer . numChildren > 0 ) {
ThumbContainer . removeChildAt ( 0 );
}
while ( loadContainer . numChildren > 0 ) {
loadContainer . removeChildAt ( 0 );
}
var ni : uint = 0 ;
if ( len - pag * snum > 0 ) {
ni = pag * snum ;
} else {
ni = len ;
}
var n : uint = 0 ;
for ( var i : uint =( pag - 1 )* snum ; i < ni ; i ++) {
ThumbUrl = new URLRequest ( PicUrlAry [ i ]);
loader = new Loader ();
loading = new loadwait ();
loader . x = 70 + n * 60 ;
loading . x = 70 + n * 60 ;
loader . y = 465 ;
loading . y = 465 ;
n ++;
loadContainer . addChild ( loading );
addChild ( loadContainer );
loader . contentLoaderInfo . addEventListener ( Event . COMPLETE , ThumbLoadcomplete );
loader . load ( ThumbUrl );
loader . addEventListener ( MouseEvent . MOUSE_DOWN , showPic );
ThumbContainer . buttonMode = true ;
ThumbContainer . addChild ( loader );
}
addChild ( ThumbContainer );
}
//缩略图载入完成后修改大小
function ThumbLoadcomplete ( evt : Event ): void {
var loaderinfo : LoaderInfo = evt . target as LoaderInfo ;
loaderinfo . content . width = 50 ;
loaderinfo . content . height = 26 ;
loaderinfo . content . filters = [ _picGlowFilter ];
}
//缩略图的侦听事件
function showPic ( event : MouseEvent ): void {
var target : DisplayObject = event . target as DisplayObject ;
num = ThumbContainer . getChildIndex ( target )+( pag - 1 )* snum ;
loadPic ( num );
//removeChildAt(1);
}
//显示文字
function showText ( num : uint ) {
Text = new TextField ();
Text . text = PicTextAry [ num ];
Text . width = 200 ;
Text . height = 15 ;
Text . textColor = 0x000000 ;
Text . x = 300 ;
Text . y = 422 ;
Text . autoSize = "center" ;
txtmc . addChildAt ( Text , 0 );
addChildAt ( txtmc , 1 );
if (! firsttxt ) {
txtmc . removeChildAt ( 1 ); //移除上层的文字。
}
firsttxt = false ;
}
//点击BtnPrev
function preHandler ( event : MouseEvent ): void {
if ( pag >= 2 ) {
pag --;
num =( pag - 1 )* snum ;
loadThumb ();
loadPic ( num );
}
}
//点击BtnNext
function nextHandler ( event : MouseEvent ): void {
if ( pag < Math . ceil ( len / snum )) {
pag ++;
num =( pag - 1 )* snum ;
loadThumb ();
loadPic ( num );
}
}
用flash制作相册的源码(as3 xml 图片浏览)相关推荐
- 带后台管理的超酷jquery+ajax幻灯相册php源码,仿门户网图片频道的jQuery幻灯相册轮播代码...
推荐 jquery画廊特效 支持缩略图预览和全屏展示及图片描述 这是款基于jquery的画廊相册特效,功能较全面,可支持缩略小图预览,幻灯图片全屏展示,可显示多种规格的图片,包括全屏显示高清大图,以及 ...
- android swf 播放器代码,Android Flash swf播放器源码(2016),技术稳定可以商用—— BY softboy...
Android Flash swf播放器源码(2016) 为什么说标题加上2016? 其实不是什么新技术,因为android4.1之后的android 浏览器内核版本发生了变化导致 Adobe 的Fl ...
- android swf 播放器代码,Android Flash swf播放器源码(2019)
Android Flash swf播放器源码(2019) 为什么说标题加上2019? 其实不是什么新技术,因为android4.1之后的android 浏览器内核版本发生了变化导致 Adobe 的Fl ...
- PHP二维码在线制作生成系统源码 无需数据库 带logo图标
简介: PHP二维码在线制作生成系统源码 无需数据库 带logo图标 网盘下载地址: http://kekewl.net/Myae89V9DX00 图片:
- java计算机毕业设计-数字相册管理系统-源码+数据库+系统+lw文档+mybatis+运行部署
java计算机毕业设计-数字相册管理系统-源码+数据库+系统+lw文档+mybatis+运行部署 java计算机毕业设计-数字相册管理系统-源码+数据库+系统+lw文档+mybatis+运行部署 本源 ...
- 最近网上比较火的虎年西游记金钱豹头像制作小程序源码
简介: 今天为大家分享一下最近抖音和朋友圈比较火的云开发虎年西游记金钱豹头像制作小程序源码和西游记南山大王金钱豹的趣味头像素材包,年少不知豹哥好,错把樵哥当成宝,金钱豹头像最近也是由于谐音梗金钱暴富为 ...
- 姓氏头像框一键制作小程序源码
正文: 姓氏头像框一键制作小程序源码+附微语模块,源码无需后端服务器搭建,源码搭建也非常简单,包含了多种模板制作,且风格多样化,例如有热度比较高的姓氏头像. 虽然该主题是以姓氏框制作为主的,但是姓氏主 ...
- 虎年降至.一款2022虎年为主的一款头像制作小程序源码。
现如今在线副业已经成为一种趋势,越来越多的人选择副业作为起步.小程序凭借不占内存.无论前期投入还是后期维护,成本都较低:如果你想副业来赚钱,选择小程序是非常不错的选择,有很多人可能会问,我不会做小程序 ...
- Matlab制作局部放大图——magnify源码
Matlab制作局部放大图--magnify源码 写论文时会遇到需要用matlab做局部放大图的问题,好在matlab给出了magnify局部放大函数.下面是我做的一个小例子. 步骤: 1.先将mag ...
最新文章
- 【Flutter】顶部导航栏实现 ( Scaffold | DefaultTabController | TabBar | Tab | TabBarView )
- tomcat架构分析(valve源码导读)【转】
- powerdesigner 16设计mysql数据库_PowerDesigner16 连接MySql 报错
- 【报告分享】巨量算数:疫情期间汽车专题研究洞察.pdf(附下载链接)
- cf1140E 回文串+染色方案dp
- Windows下免费的屏幕录制软件——EV录屏——推荐
- x86_64-linux-gnu 在线编译,Linux x86 编译 Android 遭遇 gnu/stubs-64.h
- 报时功能_厦门宝藏 | 海关大钟悠扬的鸣曲报时,承载着老厦门人无数的记忆!...
- Oracle HINT的常见用法
- 程序设计的三种基本结构
- 知识分享:游戏音乐分类
- 一文教你股票买卖问题实用而装逼的解法
- Github国内加速克隆及下载
- 说话人识别中的损失函数
- Ract Native笔记
- [附源码]PHP计算机毕业设计社区居家养老管理系统(程序+LW)
- Elasticsearch快照备份
- 医生提醒:坐办公室一族应1小时活动5分钟
- 手机视频监控应用开发
- Markdown的前世今生 + CSDN的Markdown语法和使用大全
热门文章
- 太宝藏了,这里的期刊杂志免费看!
- ADC DAC基本概念理解(一)
- C语言程序——米到英尺的转换
- 纬度app:果酸焕肤是个什么原理,自己在家可以做吗?
- matlab/simulink 转速功角发电机相轨迹分析,转速功角曲线,电力系统暂态稳定分析,四机两区系统,ieee39节点系统
- python+selenium爬虫自动化批量下载文件
- 首届“全球创新创业教育论坛” 暨“大学三基工程”工作会议将于9月26-28日在湖南韶山召开
- 北斗形变监测系统_桥梁北斗形变监测 核心为HCMONITOR
- 锐捷S2952G-E V3 VSU(堆叠)原理及配置
- 凡科CMS采集插件全自动采集发布-凡科SEO