2011-03-04 33 views
1

对于这个Flash AS3问题,真的非常需要帮助。我目前正在创建一个类似咖啡世界,farmville等(社交游戏)的游戏。想知道当我的鼠标移动时,如何让对象在等轴测方向上移动。 例如,当我想要建造房屋时,我点击房屋建造按钮,当我的鼠标移动时,我希望我的房屋对象(存储在图书馆中)与我的鼠标一起在等轴测方向上移动。为了给大家留下更好的印象,请点击此链接了解草图:http://www.flickr.com/photos/[email protected]/5497636770/Flash AS3:等距网格移动

所以我只想当我的鼠标移动20个单位比原来的鼠标位置多,然后我的房子项目应该移动到下一个网格。

请确认是否有任何不清楚的地方。非常感谢! :)

回答

4

你可能喜欢探索as3isolib ... http://code.google.com/p/as3isolib/

有一个很好的介绍在这里... http://www.gotoandlearn.com/play.php?id=136

你要找的大概是这样的,但...

house.x = Math.floor(this.mouseX/SQUARE_SIZE)*SQUARE_SIZE; 
house.y = Math.floor(this.mouseY/SQUARE_SIZE)*SQUARE_SIZE; 

您可能需要为鼠标位置做一些globalToLocal,反之亦然,加上网格偏移量等。

+0

感谢您的哟你的帮助:)因为我的团队纯粹是从flash内部编码的,当我们使用as3isolib时,没有错误返回,但我们什么都看不到(当我们用as3isolib中的教程玩时)...你的2条语句帮助一下,但我们仍然相当卡住.. :(是否有可能给我们更多的指导呢? (sry,我们真的对所有这些都很陌生!:p) – Christina 2011-03-06 08:28:37

+0

btw,我尝试了另一种方式,并且像它几乎那样,但它仍然不总是对齐网格......另外,它的移动方式太快了!任何解决方案:)你可以在这里查看Flash文件:https://www.yousendit.com/download/T2pHcXlqQzd1Yk94dnc9PQ – Christina 2011-03-06 09:01:44

+0

我强烈建议你将你的代码从闪存IDE中解放出来(FlashDevelop是免费的),你花费的时间学习如何在调试和添加功能时,将代码结构化到类中将在以后的项目中重新获得。 – 2011-03-06 10:54:28