开心网外挂,开心网自动管理程序,现已经开发完成
下载地址请访问我的论坛 http://xingfustar.uueasy.com
posted @ 2009-07-20 16:15 幸福★星 阅读(244) 评论(0) 编辑
这一段时间工作太慢了, 都快半年没更新了,
最近一至在做一个Flex的项目, 用到了图片的幻灯片效果, 在网上搜了好久, 也没有找到一个有帮助的结果,
于是只好自己研究了 --!
经过两个多小时的试验,终于小有成就, 现将阶段性代码发表出来, 方便有同样需求的人借鉴(不要再像我一样,浪费N多时间用于搜索)
<?xml version="1.0" encoding="utf-8"?>
<!-- ************************************************************
* 版权:XingFuStudio
*
* 文件名:ImageEffect
* 文件功能描述:图片的幻灯片播放效果
*
* 作者:XingFuStar
* 网站:Http://XingFuStar.cnblogs.com
* 日期:2009年2月20日
*
* 当前版本:V1.0.0
*
* 修改人:
* 修改日期:
* 修改内容:
************************************************************* -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
creationComplete="InitApp()">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.effects.*;
import mx.collections.ArrayCollection;
//效果集合,用来绑定Image
[Bindable]
private var effects:ArrayCollection = new ArrayCollection();
//应用效果的索引
[Bindable]
private var effectIndex:int = 0;
//图片集合
private var pictures:ArrayCollection = new ArrayCollection();
//时间控件
private var timer:Timer;
//这个变量用来配合时间控件
private var tempInt:int = 0;
/**
* 初始化
*/
private function InitApp():void
{
//初始化效果集合
this.effects.addItem(new WipeDown());
this.effects.addItem(new WipeLeft());
this.effects.addItem(new WipeRight());
this.effects.addItem(new WipeUp());
//this.Effects.addItem(new Blur()); //这个一般,效果不明显
this.effects.addItem(new Dissolve());
this.effects.addItem(new Fade());
//this.Effects.addItem(new Glow()); //只默认的情况下,没有较果
this.effects.addItem(new Iris());
//this.Effects.addItem(new Move()); //只默认的情况下,没有较果
//this.Effects.addItem(new Resize()); //只默认的情况下,没有较果
//this.Effects.addItem(new Rotate()); //旋转的,效果不是很好
this.effects.addItem(new Zoom());
//初始化图片集合
this.pictures.addItem("../images/1.jpg");
this.pictures.addItem("../images/2.jpg");
this.pictures.addItem("../images/3.jpg");
this.pictures.addItem("../images/4.jpg");
this.pictures.addItem("../images/5.jpg");
this.pictures.addItem("../images/6.jpg");
this.pictures.addItem("../images/7.jpg");
this.pictures.addItem("../images/8.jpg");
//初始化时间控件
this.timer = new Timer(2 * 1000 , 0.0);
//添加时间控件的计时事件
this.timer.addEventListener(TimerEvent.TIMER, OnTimerTick);
//启动时间控件
this.timer.start();
//this.imageUp.addEventListener(Event.COMPLETE
}
/**
* 时间控件事件方法
*/
private function OnTimerTick(event:TimerEvent):void
{
if(this.tempInt == 0)
{
//当TempInt为0时
//随机生成一个图片索引, 更新上层的图片
var ramdomNumber:Number=GetRandNumber(0, this.pictures.length - 1);
this.imageUp.source = this.pictures.getItemAt(ramdomNumber);
}
else
{
//计算下一张图应用的效果, 同时更新下层的图片与上层的图片相同
//这里为什么用两个Image原因是: 当用一个Image时,更新图片的过程中, 会出现闪烁
//两个Image,其中一个用来更新显示,另一个用来缓存上一次加载的图片
this.effectIndex = GetRandNumber(0, this.effects.length - 1);
this.imageDown.source = this.imageUp.source;
}
//计算下次时间控件循环时,tempInt的值, tempInt值为 0 或 1
this.tempInt = (this.tempInt + 1) % 2;
}
/**
* 获取指定范围内的随机数(包括最大值最小值)
*
* @param min 最小值
* @param max 最大值
*/
private function GetRandNumber(min:Number, max:Number):Number
{
var randNumber:Number = Math.floor(Math.random() * (max - min + 1)) + min;
return randNumber;
}
]]>
</mx:Script>
<mx:Image id="imageDown" width="640" height="480" source="../images/1.jpg"/>
<mx:Image id="imageUp" width="640" height="480" source="../images/1.jpg"
completeEffect="{this.effects.getItemAt(effectIndex)}"/>
</mx:Application>
<!-- ************************************************************
* 版权:XingFuStudio
*
* 文件名:ImageEffect
* 文件功能描述:图片的幻灯片播放效果
*
* 作者:XingFuStar
* 网站:Http://XingFuStar.cnblogs.com
* 日期:2009年2月20日
*
* 当前版本:V1.0.0
*
* 修改人:
* 修改日期:
* 修改内容:
************************************************************* -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
creationComplete="InitApp()">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.effects.*;
import mx.collections.ArrayCollection;
//效果集合,用来绑定Image
[Bindable]
private var effects:ArrayCollection = new ArrayCollection();
//应用效果的索引
[Bindable]
private var effectIndex:int = 0;
//图片集合
private var pictures:ArrayCollection = new ArrayCollection();
//时间控件
private var timer:Timer;
//这个变量用来配合时间控件
private var tempInt:int = 0;
/**
* 初始化
*/
private function InitApp():void
{
//初始化效果集合
this.effects.addItem(new WipeDown());
this.effects.addItem(new WipeLeft());
this.effects.addItem(new WipeRight());
this.effects.addItem(new WipeUp());
//this.Effects.addItem(new Blur()); //这个一般,效果不明显
this.effects.addItem(new Dissolve());
this.effects.addItem(new Fade());
//this.Effects.addItem(new Glow()); //只默认的情况下,没有较果
this.effects.addItem(new Iris());
//this.Effects.addItem(new Move()); //只默认的情况下,没有较果
//this.Effects.addItem(new Resize()); //只默认的情况下,没有较果
//this.Effects.addItem(new Rotate()); //旋转的,效果不是很好
this.effects.addItem(new Zoom());
//初始化图片集合
this.pictures.addItem("../images/1.jpg");
this.pictures.addItem("../images/2.jpg");
this.pictures.addItem("../images/3.jpg");
this.pictures.addItem("../images/4.jpg");
this.pictures.addItem("../images/5.jpg");
this.pictures.addItem("../images/6.jpg");
this.pictures.addItem("../images/7.jpg");
this.pictures.addItem("../images/8.jpg");
//初始化时间控件
this.timer = new Timer(2 * 1000 , 0.0);
//添加时间控件的计时事件
this.timer.addEventListener(TimerEvent.TIMER, OnTimerTick);
//启动时间控件
this.timer.start();
//this.imageUp.addEventListener(Event.COMPLETE
}
/**
* 时间控件事件方法
*/
private function OnTimerTick(event:TimerEvent):void
{
if(this.tempInt == 0)
{
//当TempInt为0时
//随机生成一个图片索引, 更新上层的图片
var ramdomNumber:Number=GetRandNumber(0, this.pictures.length - 1);
this.imageUp.source = this.pictures.getItemAt(ramdomNumber);
}
else
{
//计算下一张图应用的效果, 同时更新下层的图片与上层的图片相同
//这里为什么用两个Image原因是: 当用一个Image时,更新图片的过程中, 会出现闪烁
//两个Image,其中一个用来更新显示,另一个用来缓存上一次加载的图片
this.effectIndex = GetRandNumber(0, this.effects.length - 1);
this.imageDown.source = this.imageUp.source;
}
//计算下次时间控件循环时,tempInt的值, tempInt值为 0 或 1
this.tempInt = (this.tempInt + 1) % 2;
}
/**
* 获取指定范围内的随机数(包括最大值最小值)
*
* @param min 最小值
* @param max 最大值
*/
private function GetRandNumber(min:Number, max:Number):Number
{
var randNumber:Number = Math.floor(Math.random() * (max - min + 1)) + min;
return randNumber;
}
]]>
</mx:Script>
<mx:Image id="imageDown" width="640" height="480" source="../images/1.jpg"/>
<mx:Image id="imageUp" width="640" height="480" source="../images/1.jpg"
completeEffect="{this.effects.getItemAt(effectIndex)}"/>
</mx:Application>
版权:htpp://xingfustar.cnblogs.com
这里使用了两个Image, 其中ImageUp用来显示带效果的图片, IamgeDown作用是用来缓存上一张图片, 目的是防止用单一Image时图片更换时闪烁一下
posted @ 2009-02-21 21:10 幸福★星 阅读(2503) 评论(3) 编辑
看了好多Flex的Message相关的例子, 基本上都要用到FDS.SWC, 在网上找了N久, 费尽力气,好不容易找到了一个100多M的包, 从中找出FDS.SWC现提供下载
posted @ 2008-08-15 11:52 幸福★星 阅读(2332) 评论(10) 编辑
最新版的FluorinFx在services-config.xml中新增了RTMP Channel,主要是用来配置Flex Messaging,编译时需要FDS.swc支持,当然如果不需要此功能可以注释掉channel-definition这个节点
posted @ 2008-03-23 14:24 幸福★星 阅读(1292) 评论(1) 编辑
要求:FlashPlayer版本为version 9,0,28,0或更高
1:在flex中拖一个Button到场景, 设置: id="mybtn" click="fullScreen(event)"
2:定义fullScreen方法:
a:在下面三处地方增加:
AC_FL_RunContent(
"allowFullScreen", "true",
)
<param name="allowFullScreen" value="true" />
<embed src="fullScreen.swf" allowFullScreen="true"
>
b:在下面三处地方删除:
1:在flex中拖一个Button到场景, 设置: id="mybtn" click="fullScreen(event)"
2:定义fullScreen方法:
import flash.display.StageDisplayState;
private function fullScreen(event:MouseEvent):void{
if (stage.displayState == StageDisplayState.FULL_SCREEN)
{
mybtn.label = "全屏模式";
stage.displayState = StageDisplayState.NORMAL;
}
else
{
mybtn.label = "返回全屏";
stage.displayState = StageDisplayState.FULL_SCREEN;
}
}
3:如果使用原html模板装载,修改html-template文件夹下的index.template.htmlprivate function fullScreen(event:MouseEvent):void{
if (stage.displayState == StageDisplayState.FULL_SCREEN)
{
mybtn.label = "全屏模式";
stage.displayState = StageDisplayState.NORMAL;
}
else
{
mybtn.label = "返回全屏";
stage.displayState = StageDisplayState.FULL_SCREEN;
}
}
a:在下面三处地方增加:
AC_FL_RunContent(
"allowFullScreen", "true",
)
<param name="allowFullScreen" value="true" />
<embed src="fullScreen.swf" allowFullScreen="true"
> AC_FL_RunContent(
"allowscrīptAccess", "sameDomain",
)
<param name="allowscrīptAccess" value="sameDomain" />
<embed src="fullScreen.swf" allowscrīptAccess="sameDomain"
>
"allowscrīptAccess", "sameDomain",
) <param name="allowscrīptAccess" value="sameDomain" />
<embed src="fullScreen.swf" allowscrīptAccess="sameDomain"
>作者:猫大哥 类型:闪吧BBS 来源:闪吧论坛
posted @ 2008-01-10 13:38 幸福★星 阅读(445) 评论(1) 编辑
摘要: 版权由http://xingfustar.cnblogs.com/所有,转载请注明出处,XingFuStar 2007年12月14日六、自定义实体对象的传递(http://xingfustar.cnblogs.com/)本节是Remoting通讯的最后一节,主要讲述自定义实体对象的传递,并简单了解下Flex中类的声明及DataGrid的使用方法。我们仍分两个部分来讲。1、.NET服务器端程序(ht...阅读全文
posted @ 2007-12-14 16:54 幸福★星 阅读(1343) 评论(4) 编辑
摘要: 版权由http://xingfustar.cnblogs.com/所有,转载请注明出处,XingFuStar 2007年12月14日五、复杂数据类型的通讯(http://xingfustar.cnblogs.com/)Remoting支持传送数组、List、HashTable、Dictionary等多种复杂数据类型,本文以数组,Dictionary,HashTable为例,讲解复杂数据类型的通讯。...阅读全文
posted @ 2007-12-14 13:34 幸福★星 阅读(1106) 评论(0) 编辑
摘要: 版权由http://xingfustar.cnblogs.com/所有,转载请注明出处,XingFuStar 2007年12月11日三、简单数据类型通讯(http://xingfustar.cnblogs.com/)学习一门语言,大多以Hello Word开始,我们也以Hello Word为例, 讲解一下Flex 与 Asp.Net 通过 Remoting 方式通讯的方法。1、.NET服务器端程序...阅读全文
posted @ 2007-12-10 17:01 幸福★星 阅读(1237) 评论(1) 编辑
摘要: 版权由http://xingfustar.cnblogs.com/所有,转载请注明出处,XingFuStar 2007年12月10日一、准备工作 (http://xingfustar.cnblogs.com/) Flex开发平台:Adobe Flex Builder 2.0.1 .Net开发平台:Visual Studio.Net 2005 Remoting网关:Fluorine (下载...阅读全文
posted @ 2007-12-07 09:17 幸福★星 阅读(2636) 评论(5) 编辑

