动力男孩flash乐园

不抛弃、不放弃,梦想要迂回去实现~!
  • 首页
  • 我的座右铭
  • 我的作品
  • 留言聊天室
  • 动力男孩的诞生
144次浏览↓

浅谈工具的意义

2010年5月20日 powerboy 没有评论

声明:以下文章是本人在学习过程中总结的一些个人经验,如果需要复制,请务必注明出处:http://www.p-boy.cn

  工具,是一把利器,做事情需要讲究方式方法,如果做事情时选择了合适的工具,可以让你的做事效率事半功倍。工具,可以是有形的也可以是无形的。但是,什么样的工具适合自己,怎样来选择适合自己的工具呢,这是每个人都需要努力去研究的话题。
  不管是哪家公司,都可能遇到过这种情况:在同一个项目里,每个部门的职能各不相同,有时候会发现项目推进的很困难,部门之间会相互推卸责任、扯皮,尤其越大的公司表现的越明显。究其原因,很多人可能会说这样的话,例如:项目需求不明确、这个问题应该XXX来负责、这个问题我以前都讲过等等之类的话。其实我们回过头来仔细想想,这些部门的领导们是否以身作则了呢?正有一句话所谓:有什么样的领导,就有什么样的团队。这的确是有根据的,领导就相当于航海中的信号灯,当船只在遇到大雾而迷路的时候,它能够指明方向,让大家跳出现有的困境而向前看。一旦这个时候没有了信号灯或者信号灯给错了方向,那么整只船队也就跟着一起陷进去了。所以对于领导的团队管理,是一定要讲究方法的。如果领导能够观察到每个成员的工作方式,也许就会用自己的经验去帮助他们改进;如果能够跟踪到每个成员的项目进度,也许就会更好的安排工作周期;如果能够关注一下其他团队目前的现状和所需要协助的地方,也许就会避免团队之间走更多的弯路。
但是假设上面的条件都满足就可以了吗,显然这里面还有一个执行力的问题,如果这一条不满足,纵使你有再多的管理经验也无济于事。既然我们谈到了执行力,就不得不谈“威信”二字,你可以有“威”,但是没有“信”的话,恐怕“威”也很难持久。如果想要每个成员都“信”你,必然要经历一个长期而持续的过程,而这个过程,恰恰也是对领导的一个考验。

  备注:
  有形的工具:各种软件(例如Redmine、Project等等)。
  无形的工具:沟通技巧、解决问题的方式、意识(例如遇到问题,知道需要向谁寻求协助)

分类: 心情驿站 标签: 心情
108次浏览↓

“小小便利店”终于上线啦

2010年5月20日 powerboy 没有评论

  自从新换了工作之后,就一直没怎么再更新博客了,每天的时间都安排的满满的,今天借着推出这款小游戏的机会,赶紧踩个脚印。本来计划这款游戏半个月完成,但由于平时的工作太忙,导致我一周只有一天的开发时间,这款游戏在经历了2个多月之后才浮出水面,现在还仍然在完善中。
  目前正在跟人人网合作,在此感谢跟我一起奋斗的兄弟们,没有大家的共同努力,这款游戏是永远也不会有成功的基因的。
  游戏地址:http://page.renren.com/littlecvs/index

分类: 心情驿站, 我的新闻 标签: flash, 心情, 新闻
378次浏览↓

禁止按tab时焦点从flash切换到地址栏

2010年2月4日 powerboy 没有评论

找了好久,终于在一个国外站点看到了解决方法:

1
2
3
4
5
6
7
8
9
<script type="text/javascript">
document.onkeydown=function(){
	if(event.keyCode==9){
		event.keyCode=0;   
		event.returnValue=false;
		return false;
	}
};
</script>
分类: 我收集的flash 9.0资料 标签: as3
515次浏览↓

隐藏Flex滚动条的箭头和滑竿

2009年12月28日 powerboy 没有评论
1
2
3
4
5
.myCustomScrollBarStyleName {
	downArrowSkin:		ClassReference(null);
	upArrowSkin:		ClassReference(null);
	thumbSkin:		ClassReference(null);
}
分类: flex学习笔记 标签: flex
554次浏览↓

为asdoc设定example

2009年12月16日 powerboy 2 条评论

  最近在学习用asdoc生成文档,我们在使用官方API文档的时候,都能看到有些类的底部会有关于这个类是如何使用的例子,他是如何做到的呢,其实用的就是这个指令:@includeExample xxx/example.as,在它后面跟的是例子的路径,但是有一点,我们不能因为想要写个小例子,就把它放在跟类相同的路径下吧,这会非常糟糕的,我们更希望把例子集中在一个文件夹下统一管理,有什么好办法吗,答案是肯定的。我们需要在编译语句后面加上-examples-path [盘符]:\[路径],它指的就是我们存放例子的路径,但是一定要记住,存放example的路径最好跟类文件的路径是一样的,这样管理起来更方便。比如我把框架放在d盘名为powerboy的目录下,框架里有个cn.pboy.control.Button的类,它的路径看起来像这样:d:\powerboy\cn\pboy\control\Button.as,现在我要对这个类添加例子,我想把例子统一放在d盘的examples文件夹下统一管理,那么路径应该是这样的:d:\examples\cn\pboy\control\ButtonExample.as,然后在命令行工具下把当前盘符设为d:\powerboy>,通过以下命名就可以编译了:asdoc -source-path . -doc-sources . -examples-path d:\examples

分类: actionscript3.0学习笔记, flash教程 标签: as3, 教程
648次浏览↓

一个测试睡眠的例子

2009年11月27日 powerboy 22 条评论

  这里给出一个小例子,方便大家看到是否设置睡眠的区别。右上角的5个按钮代表重力方向,他们都是用向量模拟的,中间的按钮“无”代表失重状态。关于睡眠设置,默认是禁止睡眠,点击右侧按钮可以切换状态。通过观察你可以发现,当所有小球停止运动的时候,如果是禁止睡眠,当你改变重力方向的时候它们仍然可以运动,如果是允许睡眠的话,你会发现他们确实睡的跟死猪一样,一动不动。

Get Adobe Flash player

  需要看源码的朋友,请在下方留言,留下你的邮箱地址,我会尽快回复你的。

分类: Box2D, 我的AS3实验室 标签: as3, flash
1,397次浏览↓

Box2D——入门教程

2009年11月27日 powerboy 2 条评论

声明:以下文章是本人在学习过程中总结的一些个人经验,如果需要复制,请务必注明出处:http://www.p-boy.cn

  现在网上关于as3的物理引擎真是不少,比较之后发现,在开源引擎当中Box2D算是比较不错的了,只可惜他的结构比较复杂,而且国内网站关于Box2D方面的教程真是少的可怜。因为我知道这个最早是c++上面的2D引擎,所以我找到了http://www.box2d.org/manual.html网址,经过几天的研究,总算是入门了,下面我会系统的针对官网给出的HelloWorld程序进行讲解,把个人心得分享给大家(鼓掌)!

  这个引擎是先从创建一个世界对象开始的,他负责管理内部一切对象的内存和模拟过程。要创建一个世界中的对象,首先我们需要为世界定义边界区域,Box2D针对区域内的所有对象进行模拟碰撞,区域的大小并不重要,但更适合的区域将提高程序性能,一般来讲这个区域设置的要比演示区域更大一些,因为一旦对象在运动时到达了边界,它就会被“冻结”并停止一切模拟活动。

var worldAABB:b2AABB = new b2AABB();
worldAABB.lowerBound.Set(-100,-100);//左边界、上边界
worldAABB.upperBound.Set(100,100);//右边界、下边界

  下面我们要为这个世界设置重力了,就是下面这段代码,其实这里面的重力是用向量b2Vec2(x,y);来表示的,x代表水平运动,正数向右,负数向左,y代表垂直运动,正数向下,负数向上。同时我们需要再定义一个布尔型参数(我命名为doSleep),来表示是否允许睡眠,睡眠所代表的含义网上也没有一个明确的介绍,这里我简要讲解一下。因为你在这个世界中生成的一切对象,他们的模拟效果都是实时计算出来的,当doSleep=false的时候,即使物体停止了运动,计算机还是在不停的进行着运算,其实这是完全不必要的,所以一般都设为true,这样当物体停止之后就不会进行无谓的cpu消耗了。

var gravity:b2Vec2 = new b2Vec2(0,10);
var doSleep:Boolean = true;

  以上参数都准备好了,我们可以将它们传入b2World对象中并将其实例化,这样一个物理引擎的模拟区域就做好了。

var world:b2World = new b2World(worldAABB,gravity,doSleep);

  让我们开始在其中加入你想要模拟的对象吧。本来在那个英文网站中给出的是5个步骤,但是我感觉还少点什么,所以我又加了一条:
第一步、创建并定义刚体位置。这里我做一下名词解释,在任何力的作用下,体积和形状都不发生改变的物体叫做“刚体”;

var ground:b2BodyDef = new b2BodyDef();
ground.position.Set(10, 12);//这里的位置也是用向量定义的

2、给刚体定义皮肤(注意这里的皮肤并不具备物理引擎的属性,因此才有了第四步);

bodyDef.userData = _mc;//我们自己绘制的图形
addChild(bodyDef.userData);

3、用世界对象添加刚体实例,需要注意的是世界对象里并没有保存body定义的引用;

var body:b2Body = world.CreateBody(bodyDef);

4、根据皮肤形状创建模拟图形类:摩擦力、密度、弹力等等;当密度为0的时候,物体是不会动的,相当于障碍物。摩擦力和弹力取值范围是0~1,形状的区域是由SetAsBox定义的,因为模拟图形和刚体都要求以中心点为注册点,因此这里的宽和高的值都是一半,同时需要注意,这里数值单位并不是像素,而是米,1米=30像素,大家在传值的时候可别忘记换算哦。

var box:b2PolygonDef = new b2PolygonDef();//创建多边形
box.density = _density;
box.friction = _friction;
box.restitution = _restitution;
box.SetAsBox(_halfWidth , _halfHeight);

5、在刚体上添加模拟图形实例;

body.CreateShape(box);

6、根据刚体的密度和面积计算出质量,密度*面积=质量。

body.SetMassFromShapes();

  这里有两个重要的参数需要我们自己定义一下。一个是迭代次数,这里我定义为m_iterations,建议迭代次数为10,这时一个比较合理的值,使用较少的迭代可以提高性能,但模拟质量受到影响。同样,使用更多的迭代性能有所下降,但提高了你的模拟质量。另外一个参数是游戏的刷新频率,我定义为m_timeStep,根据英文教程上记载,它采用的是1/60秒刷新一次,但因为它的平台是c++,性能比AVM2虚拟机高出数倍,完全可以这么做,而在flash中我们一般设置成1/30就可以了。

var m_iterations:Number = 10;
var m_timeStep:Number = 1 / 30;

  现在一切都准备好了,我们要让所有对象模拟运动。其实他也是通过侦听帧频率而不断刷新实现的,把上面那两个参数传入世界对象的Step方法中即可,同时我们需要遍历世界中的一切对象,并对每个对象的坐标和角度进行更新。

addEventListener(Event.ENTER_FRAME, Update, false, 0, true);
function Update(e:Event):void
{
	world.Step(m_timeStep, m_iterations);
	for (var bb:b2Body=world.m_bodyList; bb; bb=bb.m_next)
	{
		if (bb.m_userData is Sprite)
		{
			bb.m_userData.x=bb.GetPosition().x * 30;//这里获取的变量单位是米,乘以30转换成像素单位
			bb.m_userData.y=bb.GetPosition().y * 30;
			bb.m_userData.rotation=bb.GetAngle() * (180 / Math.PI);
		}
	}
}

  好了,现在相信大家已经对Box2D有了一定了解,赶快尝试制作一些效果吧。

  本文出自动力男孩博客:http://www.p-boy.cn/?p=473

分类: Box2D, flash教程 标签: as3, 教程
823次浏览↓

Box2D——shoot Demo

2009年11月27日 powerboy 22 条评论

  最近研究Box2D引擎,做了一个Demo,这个引擎结构还是比较复杂的,不过入门之后学起来就没一开始那么费力了。

Get Adobe Flash player

  需要看源码的朋友,请在下方留言,留下你的邮箱地址,我会尽快回复你的。

分类: Box2D, 我的AS3实验室 标签: as3, flash
595次浏览↓

一个由单例模式引发的问题

2009年11月14日 powerboy 4 条评论

  最近我用一个单例模式类LoginNetManager对socket进行了封装,里面有一个send方法,专门用户向服务器发送事件,写法如下:

1
2
	LoginNetManager.getInstance().addEventListener(NetEvent.SOCKET_ERROR,onConnectError);	
	LoginNetManager.getInstance().send(NetEvent.LS_MSG_ADDCONNECT);

这个就是向服务器发送其中一个事件信息的语句,但奇怪的问题出现了,我在flashIDE本地进行测试的时候,一切正常,但是当我放到虚拟路径下测试的时候,它就会提示说“无法找到空对象引用的属性或方法”,我一看,问题就出在第二行那个send的方法,难道说类还没有完全实例化的时候,程序就继续向下运行了?但是这里也不存在异步执行啊,无奈之下,我修改成一个延迟语句:

1
2
	LoginNetManager.getInstance().addEventListener(NetEvent.SOCKET_ERROR,onConnectError);
	setTimeout(getSocket,500);

我在getSocket方法中调用那条语句,问题就都解决了。这确实很蹊跷,我承认flash在本地运行与在网页中运行的时候,执行的是不同的flash player程序,但是从这个例子来讲,不同flash player之间的差异性还是显而易见的。

分类: actionscript3.0学习笔记 标签: as3
566次浏览↓

给图像加水印

2009年10月30日 powerboy 6 条评论

  今天应朋友需求,写了一个简单的图像加水印小软件,这个姑且叫做1.0版本吧,以后还会陆续添加更多功能。

Get Adobe Flash player

分类: air学习笔记 标签: air, as3
下一页
RSS 订阅
  • Google
  • 有道
  • 鲜果
  • 抓虾
  • My Yahoo!
  • newsgator
  • Bloglines
  • 哪吒

分类列表

  • actionscript3.0学习笔记 (16)
  • air学习笔记 (6)
  • alternativa3D (3)
  • AS2疑难杂症 (1)
  • Box2D (3)
  • flash教程 (5)
  • flex学习笔记 (3)
  • 心情驿站 (24)
  • 我收集的flash 8.0资料 (3)
  • 我收集的flash 9.0资料 (3)
  • 我收集的文章 (21)
  • 我的AS2实验室 (4)
  • 我的AS3实验室 (9)
  • 我的新闻 (17)
  • 我的相册 (6)
  • 我翻译的英文资料 (7)
  • 日语学习 (2)
  • 英语学习 (2)

最近发表

  • 浅谈工具的意义
  • “小小便利店”终于上线啦
  • 禁止按tab时焦点从flash切换到地址栏
  • 隐藏Flex滚动条的箭头和滑竿
  • 为asdoc设定example
  • 一个测试睡眠的例子
  • Box2D——入门教程
  • Box2D——shoot Demo
  • 一个由单例模式引发的问题
  • 给图像加水印

最近评论

  • Trackback: CALVIN
  • powerboy 发表于 mp3播放器 beta2.0(开源)
    我试了一下,源文件是可以下载的,... »
  • powerboy 发表于 一个测试睡眠的例子
    原文件已发,请楼上兄弟查收。楼上... »
  • 热色 发表于 mp3播放器 beta2.0(开源)
    源文件请发一下邮箱。线上不能下了... »
  • Trackback: LEROY
  • lanyu 发表于 我的AIR处女作——Mp3播放器
    楼主,能不能给我源码学习学习啊,... »
  • Jimbo 发表于 一个测试睡眠的例子
    楼主好功力,小可正在学BOX2D... »
  • riaerq 发表于 留言聊天室
    从今天开始,你就是我的方向 »
  • lau 发表于 Box2D——shoot Demo
    正想做发射游戏,发一份源码,多谢... »
  • 1115 发表于 给图像加水印
    你还,可以把你的 《给图像加水印... »
  • 下一页 »

标签云

人生感悟 吸血姬美夕 哲理 地震 奥运 学习 实验室 小樱 帕尔玛 开源API 心情 手绘 摩豆 教程 新闻 日语 明日赞歌 游戏 相册 翻译 英语 贝塞尔曲线 资料 阿兰 音乐 项目 3D adobe air as2 as3 D2 flash flash资料 flex loading RIAMeeting

存档

  • 2010年五月 (2)
  • 2010年二月 (1)
  • 2009年十二月 (2)
  • 2009年十一月 (4)
  • 2009年十月 (1)
  • 2009年九月 (2)
  • 2009年八月 (2)
  • 2009年七月 (4)
  • 2009年五月 (3)
  • 2009年三月 (3)
  • 2009年二月 (2)
  • 2009年一月 (8)
  • 2008年十二月 (10)
  • 2008年十一月 (7)
  • 2008年十月 (4)
  • 2008年九月 (7)
  • 2008年八月 (8)
  • 2008年七月 (4)
  • 2008年六月 (5)
  • 2008年五月 (11)
  • 2008年四月 (14)
  • 2008年三月 (8)
  • 2008年二月 (12)

友情链接

  • alan新浪博客
  • sunbright
  • 云风Blog
  • 嘎嘎在东京
  • 张毅君/工长君
  • 永明则名
  • 海峡IT网
  • 闪界
  • 雷晟的新浪博客
  • 鼠标炸弹

我读过的书

clicki

管理

  • 登录
置顶 WordPress
版权所有 © 2008-2010 动力男孩flash乐园 京ICP备09048608号
主题由 NeoEase 提供, 通过 XHTML 1.1 和 CSS 3 验证.Powered by WordPress