小编Ada*_*ich的帖子

手动控制何时重绘屏幕

我正在尝试为XNA制作一个基于回合制的roguelike引擎.我基本上是使用一个名为libtcod的基于SDL的roguelike库完成之前的工作来移植游戏.如何修改基本的XNA模板,让游戏不是每帧重绘一次,而是在我想要的时候?

c# xna xbox360 xna-4.0

4
推荐指数
1
解决办法
1310
查看次数

基本Rails问题:手动将行插入数据库表

我正在学习Rails,到目前为止一切顺利.我目前最大的问题是:如何手动将行插入数据库?我已经有了用于创建DataTypeOne行的脚手架,但是我希望在提交DataTypeOne的表单时创建一行DataTypeTwo(并让它引用DataTypeOne的id ...但我想我可以使用它出我自己).

提前致谢.

ruby activerecord ruby-on-rails

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

为最新的Rails创建"朋友"系统/社交网络的最佳插件?

我正在寻找一个Rails插件,它可以简化Ruby on Rails最新版本的"朋友"系统或社交网络系统的开发.

在有人说之前......我知道,我应该自己创建,从头开始.我完全有能力(我认为).我只是在寻找一个好的插件,可以让我的生活变得更轻松一点.)给我一些想法供参考.

我尝试制作自己的身份验证系统,做了我认为没问题的事情,但后来切换到restful_authentication并意识到我的系统比较糟糕.

提前致谢...

ruby ruby-on-rails ruby-on-rails-plugins

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

C#中继承类的问题

我有一个名为"Entity"的类,有两个子类:"Creature"和"Item".(我正在制作一个游戏.)生物有两个叫做"攻击"的功能,一个用于攻击生物,一个用于攻击物品.到目前为止,一切运作良好.

现在我正在研究拍摄位,所以我有一个名为SelectTarget()的函数.它需要玩家视图中的所有实体(包括生物和物品),玩家可以射击并让玩家选择一个.

所以问题在于:SelectTarget()返回一个实体,但我需要一些代码来确定该Entity是Creature还是Item,并对其进行适当处理.

因为这个问题在没有任何代码的情况下看起来很空,而且我不能100%确定我的解释是否足够好,这就是我所处的位置:

if (Input.Check(Key.Fire)) {
    Entity target = Game.State.SelectTarget.Run();
    this.Draw();
    if (target != null) {     
        //Player.Attack(target);
        // This won't work, because I have:
        //   Player.Attack((Creature)Target)
        //   Player.Attack((Item)Target)
        // but nothing for Entity, the parent class to Creature and Item.
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

(如果游戏布局的方式看起来很怪异,那就是roguelike.)

c# inheritance class

1
推荐指数
2
解决办法
155
查看次数

动态的void指针数组是C中游戏开发的性能问题吗?

下学期,我将用C进行游戏(特别是C89).来自C#等高级语言,我要做的第一件事就是制作一个实体列表(游戏对象),每一帧,循环遍历每个实体并运行他们的Update和Draw方法.将这种意识形态转换为C,我的想法是开发一个"List"结构,它包含一个指向void指针数组的指针,并使函数能够从列表中添加,获取和删除条目.如果将对象添加到List但数组太小,则将数组重新分配为两倍大的数组.有了这个系统,当我生成一个敌人时,我可以将一个指向其Entity结构的指针添加到List中,然后每个帧循环遍历List,将每个void指针元素作为指向实体的指针,然后将它传递到entity_update(Entity *)entity_draw(Entity *)相应的方法.

在我看来,只要我100%确定只在List数组中放入指向Entity结构(转换为void指针)的指针,就不会有任何问题......但是当我向同学提到这个时,他说他认为将void指针转换为指向其他东西的指针存在性能缺陷.从我可以看出,在互联网上环顾四周,真正的问题是编译器无法正确优化代码,因为编译器事先知道指针指向哪种类型.在我的情况下,这最终会成为一个问题吗,我想循环通过一个潜在的大型虚拟指针数组,每秒六十次?在实体指针数组中存储指向实体的指针并没有什么大不了的,具有大的,预定义的最大大小,然后进行绑定检查以确保如果没有剩余空间则不会产生敌人数组......但我只是想在开始研究游戏的基本底层引擎之前确定一下.

c void-pointers c89 dynamic-arrays

0
推荐指数
1
解决办法
365
查看次数