- + P A

- 靠,5D抽风太严重了

      我的日志 2009-3-30 15:8

鉴于最近经常打不开5D的菜单栏,而且我也在Google App Engine上搭建了一个基于micolog的个人博客,以后这里将停止更新,有价值的内容我会搬迁到新的博客上。

这个博客将迁移至:

http://lokisbutt.appengine.com

博客内容仍然是我的个人学习、思考的记录,欢迎大家参观。

标签集:TAGS:
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()

- box2d物理模拟引擎阅读记录

      我的日志 2009-3-5 11:44
之前看过一个APEngine,一个轻量级的ActionScript物理模拟引擎,包括碰撞检测、摩擦力、牵引力、物体刚性、重力的模拟。APE的结构很简单,几种Particle加入Group,World里只可以加入Group,然后通过enterFrame事件检测物体运动和碰撞。但是APE有一个缺陷就是,无法模拟多边形物体的随机碰撞。即:所有物体碰撞后的运动是正常的,但是没有角度变化,如多个正方形物体碰撞,在APE里展现的这几个正方形是没有角度变化的。

box2d是改自C/C++的物理引擎,结构比APE复杂很多,也包括各种随机多边形的碰撞,有角度变化。因为box2d没有帮助文档,所以最近一直在阅读box2d的代码,把一些有用的东西记录下来。


====================
我并不认为box2d库的作者的ActionScript编码风格很好,第一方法名第一个字母大写可能在C里面是这样的,但是AS里一般是小写的;第二变量定义经常放在整个类的结尾处,也不符合习惯。

Box2D.Common.Math.b2Vec2

Box2D里最基本的向量单位,包含两个变量x,y

IsVaild() 检测x,y这两个变量是否合法,就是用b2Math.b2IsValid()检测x,y这两个变量是否合法,b2Math.b2IsValid()就是用IsFinite()检测这两个数值是否有限.

Make(x_:Number, y_:Number)返回一个现有b2Vec2的克隆

MulM(A:b2Mat22)和一个2*2矩阵相乘,b2Mat22是一个包含2个b2Vec2的矩阵

标签集:TAGS:AS3 box2d
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()

- 学习Blender

      我的日志 2009-3-3 12:22
正式的学习一个开源的3D建模渲染软件,顺便学一下python
标签集:TAGS:AS3 3D
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()

- ActionScript Coding Principle

      我的日志 2009-2-9 11:8
标签集:TAGS:AS3 flash
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()

- 创业型公司管理者需要注意的几个问题

      我的日志 2009-1-10 23:58

IT行业的创业型公司的一般有几个特点:

1.资金不是很多

2.开拓一个新的领域或者至少在一个比较新的领域,否则没有生存的余地。

基于这两个特点,在公司的运作中,我自己感觉到创业型企业的管理者应该具备的几个素质。

1.特别注重自身的学习,并在公司中倡导一个学习的氛围。

在我看来,一个创业型企业应该开拓一个新的领域,如果仅仅去做一些已经成熟的市场,那不能叫做创业。在这个新领域里,大家都一样无知,所以学习是非常重要的一项活动。中国的公司管理者的重要程度远甚于国外公司,国外公司可以几个牛人天才创造一个伟大的产品,但在中国几乎不可能,所以大家都知道有一个学习的氛围好,但是如果管理者不主动去做,这样的氛围不会主动形成,也不会因为开几次会强调就可以形成,这应该是一个管理者以身作则的行为。

2.在不必要的情况下绝对禁止形式主义。

只要在中国开公司形式主义就不可能不存在,但是创业型公司用广告界的一句话说,“没有创意那就死吧”,形式主义的危害绝对比我们想象更严重。例如,公司向员工发问卷征求公司改进意见,收回文件后不仔细阅读,或者以一种保守的姿态反对所有意见,看起来最多会让员工抱怨几句,事实上员工都知道问卷调查只不过是个形式,当我们真正需要从员工那里获得意见的时候就什么都得不到了。更严重的是,员工还可以类比——“如果某项工作只是个形式,那么某某工作可能也只是个形式吧?”。所以绝对禁止形式主义是提高效率的重要一条,比如你觉得你不会认真的阅读员工的问卷调查,那么就不要举行问卷调查。

3.时刻,至少是在公开场合以开放式进行交流,而不是单方向传授,以插入性方式说话。

这毕竟不是营销,创业型企业的内部交流非常重要。一个高素

标签集:TAGS:
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()

- 什么时候开始基于flash player 10 开发?

      我的日志 2009-1-7 18:45
现有项目的某项功能暂时只能通过activeX实现,也就是说暂时只能支持IE,未来应该有firefox的plugin等等

看到adobe的实验项目alchemy,即通过他们提供的某些库文件,将c/c++代码编译成swf或swc文件,并承诺代码执行效率有提高。

如果我们的项目使用alchemy,那么一切问题迎刃而解,不需要activeX,不需要plugin,一切皆flash.

但是当真正需要实际使用这个东西的时候,有两个严重的问题:

1.activeX调用的dll文件的C/C++源代码并不一定能够获得
2.alchemy的targeting是flash player10和AIR1.5,虽然adobe经常自豪的提那个99%数字,但是那是flashplayer所有版本的比例。google search到adobe比较详细的flash player统计数据:http://www.adobe.com/products/player_census/flashplayer/version_penetration.html告诉我们,基于flash player 9的开发仍然是比较明智的。flash player 10的统计居然都没进入列表。
3.alchemy的页面里说,AVM2的执行效率将比C/C++慢2到10倍,对于运算量较大的项目还是慎用。

根据以上的原因,我们暂时还不能考虑alchemy的应用,虽然理论上是可行的。顺便提一下,现在使用alchemy部署你的项目不会得到adobe的任何技术支持,你自己看着办。
标签集:TAGS:AS3 flash engine
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()

- 开源的RIA开发

      我的日志 2008-12-21 14:24
标签集:TAGS:RIA 开源 osx freebsd ruby
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()

- 看别人代码的发现

      我的日志 2008-10-8 18:7
发现1:
package{
   public class A{
     public function A(b:hiddenclass){}
   }
 }
class hiddenclass{}
================
一想才知道,原来这是一个单例的实现。
区别于通常我们主动throw一个Error,用这个办法让外部根本无法调用构造函数。我觉得这个办法还是不错的。

发现2: a < b && (a = b);
================
 这句初看让人不知所措,对&&运算符了解比较深入的同学应该立刻可以猜出来,如果a < b返回true,那么&&运算符会忽略后面的表达式,否则继续执行,所以这段代码可以翻译成:
 if( a < b )
{
 a = b;
 }
我个人觉得这样写会让别人,甚至让自己迷惑。
标签集:TAGS:AS3 flash
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()

- PureMVC使用心得(2)

      我的日志 2008-10-4 15:22
 

本文的目标读者是对PureMVCActionScript3.0 standard有相当的了解,并经常使用的人。

 

PureMVC的结构是非常清晰的,但是在实际使用中我们还是遇到很多需要解决的麻烦问题。简单列举几个:

标签集:TAGS:AS3 flash pattern MVC
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()

- PureMVC使用心得(1)

      我的日志 2008-9-17 22:31
 

从年初接触PureMVC框架,后在公司的项目中一直使用已经半年多了,在PureMVC的使用中发现一些问题,也总结了一些经验,自认为应该把这些东西记录下来,也包括在网上看到一些粗浅的技术文章,不说写得如何,至少能让初学者少走些弯路。

 

PureMVC的作

标签集:TAGS:MVC AS3 flash pattern
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()

- 关于基于flash平台的MMORPG

      我的日志 2008-8-30 12:25

关于基于flash平台的MMORPG看到朋友发的这几篇

http://blog.csdn.net/wind520/archive/2008/08/03/2761049.aspx

坦白的说,他这个系统是玩具级别的。我最近在看网游的互动性原理和MMORPG的一些理论。目前给flash平台提供socket服务的软件比较多,FMS,red5,SmartFoxServer等等。

但是MMORPG的实现中,这些服务器端都是不行的,要实现客户端稳定的程序,服务器端严格的数据判断、敏感数据过滤等等,这些服务器还不行。我看到目前比较靠谱的server有project dark star,twisted等,这些是比较成熟的网游服务器端,能够实现目前MMORPG大部分概念,比如仿真等。

标签集:TAGS:AS3 flash game twisted mmorpg python
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()

- Flash Player 10的另一些消息

      我的日志 2008-8-18 10:35
在flash player9中,如果需要彻底删除一段load进来的swf文件,在moock的blog上详细描写了你需要做的事情。
  • Tell any loaded .swf child assets to disable themselves.
  • Stop any sounds from playing.
  • Stop the main timeline, if it is currently playing.
  • Stop any movie clips that are currently playing.
  • Close any connected network objects, such as instances of Loader, URLLoader, Socket, XMLSocket, LocalConnection, NetConnections, and NetStream.
  • Release all references to cameras and microphones.
  • Unregister all event listeners in the .swf (particularly Event.ENTER_FRAME, and mouse and keyboard listeners)
  • Stop any currently running intervals (via clearInterval()).
  • Stop any Timer objects (via the Timer class’s instance method stop()).
只能说这样做非常的麻烦,在新的flas
标签集:TAGS:AS3 bug flash astro
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()

- TextField font limitation.文本框字体最大限制

      我的日志 2008-8-13 9:2
在帮助文档中,并没有提到可以给TextField设置的最大字号是127px,动态文本和输入文本都有这个限制,但是静态文本没有这个限制。这个127px限制由来已久,是flash player和操作系统之间的问题。

有一个解决这个限制的办法:设置scale
var format:TextFormat = new TextFormat();
format.size = 100;

var t:TextField = new TextField();
t.autoSize = TextFieldAutoSize.LEFT;
t.text = "Nice and big.";
t.setTextFormat(format);
t.scaleX = 2;
t.scaleY = 2;

addChild(t);

在Flashplayer10中,TextField还是有这个限制,但是在新的Flash Text Engine中这个限制已经取消了。
设置字号为300px的代码如下:

var ef:ElementFormat = new ElementFormat();
ef.fontSize = 300;
var te:TextElement = new TextElement ("Nice and big.", ef);
var tb:TextBlock = new TextBlock (te);
var tl:TextLine = tb.createTextLin
标签集:TAGS:AS3 flash bug TextField
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()

- 伊拉克战局风起云涌,我们大陆开源事业也不平静

      我的日志 2008-7-24 11:15

开发代号AstroFlashPlayer10拉开了Web 3D的新篇章。我清晰的记得在Flash之前,许多人为Web 3D做过无数的尝试,比如Java Applet3D嵌入,抑或是用

标签集:TAGS:
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()

- 中国人自己的ActionScript 3D引擎

      我的日志 2008-7-24 8:57
http://macvsair.cn/blog/

google code :http://code.google.com/p/newx3d/

logo是我设计的,作者发布以后,我将会为这个引擎做一些扩展和Demo。

这好像是第一个中国人自己的基于FlashPlayer10的ActionScript3引擎,希望能为开源事业尽一点绵薄之力。
标签集:TAGS:AS3 flash 3D astro
我要留言To Comment 阅读全文Read All | 回复Comments() 点击Count()