09月 4th, 2008 . by Mars
佛教说人生有七苦,生、老、病、死、憎怨会、爱别离、求不得。
基督教说人生来就有罪,一生都要寻找救赎。
都很有哲理,但是我却无法相信那些信徒解决苦恼的办法,去信仰一个神?从小受到的教育就和这些背道而驰,很可惜我没有拥有信仰的潜质,活到这岁数虽然越来越对这些话有所感触,但是还是不能去信仰。
也许是秋天临近的缘故,最近的神色总是郁郁,感觉生活正离我越来越远。
以前每天下班回家打打游戏,或者辞职在家搞些不着调的“事业”也不觉得苦闷,自以为愈磨愈励的那段时光彷佛过去了,只是留下一堆臭毛病。
看《火影》(哦原谅我还在看动画片)中的佐井如此的不通世物,一些简单人际关系都要查书,起初觉得好笑太不真实,后来感觉那不就是我么。一句调笑的话,一个目光,一次皱眉,一段沉默,好像都会让人茫然失措,不知道如何应付,也许不至于那么糟糕,但觉得自高中毕业以来到现在竟没什么变化,只是性格上的那些缺陷随着周围人们的成熟却越来越明显了。
古人说:当一日三省吾身。我确实每天都在反省,告诫自己不要做一个自以为是的混蛋,但是效果却不好,还是没有下决心改变的缘故吧。
从来都不认为自己是这样悲观的,但是也该把盲目的乐观收收了,我还是相信无论从什么时候人生永远是可以改变和选择的,至少我可以让自己这么想,但是这一次,不想只有过程而没有结果。即使结果是失败。
找一些可以让自己热爱生活的理由吧,也许是个新的开始。
Posted in 全部 |
2 Comments »
08月 4th, 2008 . by Mars
首先,在flex中想使用设备字体不管用,但是发现在flash中画出一个textfield是可以使用如华文彩云这样的字体的,于是用flash做了一个导出类,放在flex中作为组件,但是发现,这个textfield如果在制作时把初始字体设置为宋体,则在运行中也可以使用中文设备字体,但是这时英文字体就失效,如果把初始字体设置为Arial等英文字体,则中文字体又不管用了。。所以目前想用设备字体达到效果可能还不太靠谱,还是老老实实用嵌入字体吧。。我现在的方法是,通过把样式表文件编译成swf,然后再通过StyleManager.loadStyleDeclarations方法动态加载外部样式。谁还有更好的解决办法么。
Posted in 全部 |
No Comments »
07月 9th, 2008 . by Mars
前几天发现sf.net不能访问了还没在意,因为以前访问也很慢,今天有人说起他也不能访问,于是搜索了一下,发现又被Great FireWall干掉了。要知道sourceforge是全球最大的open source软件基地,几乎所有的开源项目你都可以在上面找到,为什么要封掉一个技术网站?也没有谈论政治?据有人说是因为一个开源软件notepad的作者反对奥运,如果是这样我很无语,gfw到底给国内网民带来了什么?封掉多少糟粕,又真正给人们正常上网带来多少困难?不知道是哪个王八蛋想出gfw这种馊主意,就跟明朝时候有混蛋皇帝认为海边多倭寇侵扰就实施清壁坚野一样无知,gfw挡住的不只是关于中国的负面消息,更是阻塞民智,自己示弱的表现。为了一点小事封掉一个在计算机技术领域里如此重要的网站,真是莫名其妙。
不想再多说了。
Posted in 全部 |
1 Comment »
06月 6th, 2008 . by Mars
网上搜了一下,老外有篇blog是写这个的,试了一下可以用,原文地址
简单说一下怎么做:
首先,建一个fla,把需要导出的组件拽进舞台(库)中
然后选导出影片
导出对话框选生成swc
然后在在flex中的project 属性里把lib path加上这个swc就可以了
不知道为何直接用flash安装目录里components下的那些swc为什么不行,不过经过以上步骤就可以直接用flash中的组件了~~
其实flash中其他的mc/字体/图片等也可以在link了class后输出swc这么使用。
Posted in FLEX & ACTION SCRIPT |
1 Comment »
05月 30th, 2008 . by Mars
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
| package
{
import flash.display.*;
import flash.geom.*;
import fl.transitions.*;
import fl.transitions.easing.*;
import fl.motion.BezierSegment;
public class MarsFly extends Transition
{
private var _origin_x:Number;
private var _origin_y:Number;
private var _origin_zoom:Number;
private var _origin_alpha:Number;
private var _start_x:Number = 0;
private var _start_y:Number = 0;
private var _control_x:Number = 0;
private var _control_y:Number = 0;
private var _start_zoom:Number = 2.5;
private var _start_alpha:Number = 0;
private var _bezier:BezierSegment;
/**
* @private
*/
override public function get type():Class
{
return MarsFly;
}
/**
* @private
* @param transParams - 参数zoom,alpha,x 起始点x,y 起始点y,cx 控制点x,cy 控制点y
*/
function MarsFly (content:MovieClip, transParams:Object, manager:TransitionManager)
{
super(content, transParams, manager);
_origin_x = this.manager.contentAppearance.x;
_origin_y = this.manager.contentAppearance.y;
_origin_zoom = this.manager.contentAppearance.scaleX;
_origin_alpha = this.manager.contentAppearance.alpha;
_start_x = (transParams.x)?transParams.x:0;
_start_y = (transParams.y)?transParams.y:0;
_start_zoom = (transParams.zoom)?transParams.zoom:2.5;
_start_alpha = (transParams.alpha)?transParams.alpha:0;
_control_x = transParams.cx;
_control_y = transParams.cy;
_bezier = new BezierSegment(new Point(_start_x, _start_y),
new Point(_start_x, _start_y),
new Point(_control_x, _control_y),
new Point(_origin_x, _origin_y)
);
}
/**
* @private
*/
override protected function _render(p:Number):void
{
var point:Point = this._bezier.getValue(p);
this._content.x = point.x;//this._start_x + (this._origin_x - this._start_x) * (Math.sin(p*Math.PI/2));
this._content.y = point.y;//this._start_y + (this._origin_y - this._start_y) * (Math.cos((1-p)*Math.PI/2));
this._content.alpha = this._start_alpha + (this._origin_alpha - this._start_alpha) *p;
this._content.scaleX = this._content.scaleY = this._start_zoom + (this._origin_zoom - this._start_zoom) *p;
}
}
} |
调用时
1
2
3
4
5
6
7
8
9
| import fl.transitions.*;
import fl.transitions.easing.*;
btn1.addEventListener(MouseEvent.CLICK, function (event){
TransitionManager.start(img1_mc, {type:MarsFly, direction:Transition.OUT, duration:2, easing:Strong.easeOut, x:300,y:300, cx:300, cy: 0,zoom:5,alpha:0.1});
});
btn2.addEventListener(MouseEvent.CLICK, function (event){
TransitionManager.start(img1_mc, {type:MarsFly, direction:Transition.IN, duration:2, easing:Strong.easeOut,x:300,y:300, cx:300, cy: 0,zoom:0.1,alpha:0}); }); |
Posted in FLEX & ACTION SCRIPT, 技术 |
No Comments »
05月 17th, 2008 . by Mars
Posted in 旧的回忆 |
No Comments »
05月 16th, 2008 . by Mars
运行时共享库的作用是在swf中动态加载外部库,使用库中的资源等等,以下是例子:
1. 新建一fla,命名为Lib.fla
2. 在fla中新建一个元件,库面板中右键选择“链接”,类名设置为MyCircle
3. 新建一as文件,命名为MyCircle.as(空类),代码如下
1
2
3
4
5
| package{
import flash.display.*;
public class MyCircle extends Sprite{
}
} |
4. Lib.fla的文档类处写LibTest,然后新建一LibTest.as,代码如下
1
2
3
4
5
6
7
8
9
| package{
import flash.display.*;
public class LibTest extends Sprite{
public var CircleClass:Class = MyCircle;
public function echo(string:String){
trace("echo from lib:" + string);
}
}
} |
5. shift + f12 导出Lib.swf
6. 新建一app.fla,文档类设置为AppTest
7. 新建AppTest.as,代码如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| package{
import flash.display.*;
import flash.net.*;
import flash.events.*;
public class AppTest extends Sprite{
public function AppTest (){
init();
}
public function init():void{
var loader:Loader = new Loader();
var req:URLRequest = new URLRequest();
req.url = "Lib.swf";
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.load(req);
}
public function completeHandler(event:Event):void{
var loader:Loader = (event.target as LoaderInfo).loader;
var lib:LibTest = LibTest(loader.content);
trace(lib);
lib.echo("xxx");
addChild(new lib.CircleClass());
}
}
} |
8. 导出运行一下,可以看到Lib.swf被加载以后,AppTest调用lib中的MyCircle类新建了一个圆形加载了舞台上。
这种方法可以用来动态加载字体,或其他比较大但不是必须的资源。
注意这种方法和flash 本身所的runtime sharelib应该是不一样的,flash的这个概念是可以将原件按share lib导出,然后再fla中可以导入swf得到swf中的库元件,这个运行时是指flash开发工具的运行时而不是swf的运行时。
下载本文源代码:sharelib
Posted in FLEX & ACTION SCRIPT |
No Comments »
05月 14th, 2008 . by Mars
应force要求写的一个插件,主要是pve中tank的计时,在某个buff或debuff小于5秒消失的时候会语音提示,还是本人配音……也可以自己录好wav替换插件中的相应文件
warriorcry
Posted in WOW插件 |
No Comments »
05月 14th, 2008 . by Mars
春节时候刷战场,跟了几次ut团,虽然能赢,但是很累,又要等人又要听指挥,一小时等人等来等去也就能刷两场。遂怒,自己看新场排,可是还是很累,再怒,就有了这个插件。。
使用方法:不停的打开战场npc对话框,有新场了会在聊天窗口有文字提示,并附本人语音提示-_-
一般新场遇到ut的几率比较大,注意要等战场还有30秒离开的时候再进入,否则ut队看到太多野人排也许就跳场了,一般一小时刷2000荣誉没问题。
bgteller
Posted in WOW插件 |
No Comments »
05月 14th, 2008 . by Mars
Posted in WOW插件 |
No Comments »