小编Iai*_*ain的帖子

如何加快Flash IDE项目的编译/发布时间

我厌倦了等待Flash发布的时间..NET/VisualStudio项目更快WAAAAY - 只编译已更改的类吗?

更新:每次发布时,Flash IDE是否会重新编码所有声音和图像?它不能在某处缓存它们吗?

ide flash actionscript-3

9
推荐指数
2
解决办法
7974
查看次数

ActionScript 2事件的最佳实践 - 有没有一种方法可以模拟ActionScript 3样式的事件?

我喜欢AS3事件模型 - 它有助于保持我的代码清洁和失败耦合.当我以前在AS2项目上工作时,我的代码不是那么整洁,而且类更依赖于彼此.由于AS2对范围的奇怪处理,我从未真正开始使用AS2事件系统.

由于我偶尔还要在AS2工作,我的问题是:

有没有人设法在AS2中模拟AS3事件API,如果没有,那么监听和调度事件以及处理范围的最佳做法是什么?

flash actionscript-2 actionscript-3

8
推荐指数
1
解决办法
8172
查看次数

游戏框架架构 - 查看组件还是MVC?

我正在尝试为我的游戏构建一个非常轻的可重用框架,而不是每次开始游戏时从头开始.我有一个组件驱动的架构 - 例如Entity组成一个Position组件和一个Health组件和Ai组件等.

我的一个大问题是我的模型是否构成视图组件以允许模型的多个视图,或者是否使用更真实的MVC,其中模型不知道其视图,并且它们是在外部管理的.

我尝试了这两种方法,但如果有人知道每种方法的优缺点,哪种方法是行业标准,那就太棒了.

model-view-controller components frameworks

8
推荐指数
1
解决办法
3008
查看次数

7
推荐指数
1
解决办法
6786
查看次数

如何在XNA中将精灵色调为白色?

我不认为只使用SpriteBatch中的颜色设置是可能的,所以我正在尝试制作一个简单的着色器,它会占用每个像素并使其成为白色,同时尊重像素的alpha值.

Joel Martinez给出的答案看起来是正确的,但是当我用SpriteBatch绘制精灵时,如何将其合并?

c# shader xna tint

6
推荐指数
1
解决办法
3700
查看次数

6
推荐指数
2
解决办法
1531
查看次数

敌人/机器人AI是MVC游戏中模型或控制器的一部分

它可能是模型的一部分,因为它是游戏业务逻辑的一部分.

它可能是控制器的一部分,因为它可以被视为模拟玩家输入,这将被视为控制器的一部分,对吧?或者是吗?

那个普通的敌人怎么样,比如马里奥的goomba?

更新:哇,这真的不是我期待的答案.据我所知,AI是自主游戏系统的内部部分,因此也就是模型.我还是不相信.

model-view-controller artificial-intelligence

5
推荐指数
4
解决办法
1561
查看次数

在C#中到处投射(浮动).在双打中工作更好吗?

在XNA游戏上工作,我使用float来获取大部分数值.大多数C#函数似乎输入/输出双精度因此我正在编写(浮动)很多.我应该只使用双打还是我的工作方式好吗?

c# floating-point double casting

5
推荐指数
1
解决办法
1958
查看次数

如果您使用的是getter和setter,那么如何命名私有成员变量?

作为关于前缀的这个问题的后续跟进,我同意大多数人在线程上说前缀是坏的.但是,如果你使用吸气剂和制定者怎么办?然后,您需要将可公开访问的getter名称与私有存储的变量区分开来.我通常只使用下划线,但有更好的方法吗?

getter setter prefixes

4
推荐指数
2
解决办法
698
查看次数

何时使用私有常量?

在以下情况下使用私有常量是否正确:

假设我有一个带有生命变量和startingLives变量的游戏.在游戏开始时,我将lives变量设置为等于startingLives变量.这就是我通常会这样做的方式:

private var lives:int = 0;
private var startingLives:int = 3;

private function startGame():void
{
   lives = startingLives;
}
Run Code Online (Sandbox Code Playgroud)

(示例代码是ActionScript btw)

我的问题是 - 这真的应该是:

private var lives:int = 0;
private const STARTING_LIVES:int = 3;

private function startGame():void
{
  lives = STARTING_LIVES;
}
Run Code Online (Sandbox Code Playgroud)

StartingLives似乎不太可能在运行时改变,所以我应该使用const,如果事实证明不是常量则更改回变量?

更新:共识似乎是这是一个很好的使用常量,但amdfan的建议,你可能想要从配置文件加载值?

coding-style const private constants

3
推荐指数
1
解决办法
3132
查看次数