11RIA 闪客社区 - 最赞 Animate Flash 论坛

搜索
查看: 2163|回复: 0
上一主题 下一主题

[高级教程] 【9RIA—沐枫】—【基础小知识】第22节(单例模式)

[复制链接] TA的其它主题
发表于 2018-2-6 20:56:19 | 显示全部楼层 |阅读模式

【游客模式】——注册会员,加入11RIA 闪客社区吧!一起见证Flash的再次辉煌……

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
转载:9RIA游戏开发者社区(天地会)
作者:沐枫(原天地会大神)


【基础小知识】系列教程(总目录)——沐枫大神出品



先上代码:
SingleCase类

[Actionscript3] 纯文本查看 复制代码
package Other
{
public class SingleCase
{
public var clothing:String;
public var weapons:String;
public static var thisSingleCase:SingleCase//声明一个静态的本类的成员变量

public function SingleCase()
{
}

public static function GetSingleCase():SingleCase
{
//没有值就实例化一个,否则就直接用,即至始至终只有这一个实例
if(thisSingleCase==null)
{
thisSingleCase=new SingleCase();
}
return thisSingleCase;
}
}
}


主类调用
[Actionscript3] 纯文本查看 复制代码
package
{
import Other.SingleCase;

import flash.display.Sprite;

public class SingletonPattern extends Sprite
{
public function SingletonPattern()
{
var SingleCase1:SingleCase=SingleCase.GetSingleCase();//不用new一个实例,否则就不叫单例了
SingleCase1.clothing="蟒袍";
var SingleCase2:SingleCase=SingleCase.GetSingleCase();
SingleCase2.weapons="封魔剑";
var SingleCase3:SingleCase=SingleCase.GetSingleCase();
trace("我的服装:"+SingleCase3.clothing+"\n我的武器:"+SingleCase3.weapons);//我的服装:蟒袍我的武器:封魔剑
trace("--------------------------------------------------------------");
trace("单例模式:有且只有一个\n 静态成员变量\n 静态成员方法\n 静态的都是不可继承的");
}
}
}


如上,就是一个简单的单例模式,可应用方面:如页游里玩家的背包只有一个,所以总不能每点击一下就出现一个吧,用单例模式很好的解决了这个问题

源文件在这里:

源文件(22).zip (21.88 KB, 下载次数: 8)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

感谢所有支持论坛的朋友:下面展示最新的5位赞助和充值的朋友……更多赞助和充值朋友的信息,请查看:永远的感谢名单

SGlW(66139)、 anghuo(841)、 whdsyes(255)、 longxia(60904)、 囫囵吞澡(58054)

下面展示总排行榜的前3名(T1-T3)和今年排行榜的前3名的朋友(C1-C3)……更多信息,请查看:总排行榜今年排行榜

T1. fhqu1462(969)、 T2. lwlpluto(14232)、 T3. 1367926921(962)  |  C1. anghuo(147)、 C2. fdisker(27945)、 C3. 囫囵吞澡(58054)



快速回复 返回顶部 返回列表