问题标签 [game-development]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
613 浏览

c++ - 在每个循环( cocos2dx )中,类的成员变量已更改

我在 cocos2dx 程序中声明了一些类,并为它们的成员变量设置了一些值,但是在每次程序循环(CCDirector 的主循环)之后,它们的所有值都被删除了!我希望它类保存它的下一个场景,当场景应该被替换时应该被替换或推送(正如你在代码中看到的,2 秒后,introPage 类调用一个函数“IntoPageDone”并且场景应该被替换)我已经为下一个场景设置了一个名为nextScene的变量,但是在每个循环之后,它的值都会变为NULL。请帮我解决这个问题,还有一些更好的方法来处理它们的场景和变化吗?很多!

StartingPage 是一个继承自 CCLayerColor 的类。这是CoCoGui.h文件:

这是CoCoGui.cpp文件:

这是introPage.h文件:

还有IntroPage.cpp

0 投票
1 回答
396 浏览

objective-c - 如何保存布尔值以隐藏或显示按钮?

我的问题涉及一种简单的游戏关卡选择方法。例如:我有两个ViewControllers. 在一个上ViewController,我编写了一个游戏代码。如果我实现了游戏目标,我将显示一个隐藏按钮 ( UIButton.hidden = NO),它将我ViewController与下一个级别的另一个链接。到现在为止还挺好。

但是我很想保存这个状态,所以当我再次关闭并打开应用程序时,这个隐藏的按钮应该仍然可用,因为我已经达到了这个级别的目标。

我尝试使用NSUserDefaults,但我不知道如何保存布尔值。如何保存if/else按钮触发的状态?

0 投票
1 回答
631 浏览

php - 如何从 Web 前端向 GNU 屏幕会话发送命令?

简而言之:我有一个游戏服务器,我想为其构建一个管理应用程序。到目前为止我所拥有的:

我不知道 PHP 是否能做到这一点,或者我的权限是否设置正确。PHP5,CentOS 6.3。

是否有更适合此任务的语言,或使权限起作用的建议?

0 投票
3 回答
4320 浏览

java - Java 多人游戏网络概念

我正在用Java(客户端和服务器)开发一个多人回合制策略游戏。我在网络游戏方面没有太多经验,但我做过一些小事情,比如多客户端聊天和带套接字的 2 玩家井字游戏。我不是在找人为我编写代码,只是给我一些指导。

游戏经历了多个阶段:首先,用户连接并登录。在他获得主持/加入游戏的选项之后。在他加入游戏或有人加入他的游戏后,客户进入游戏阶段。游戏是 1v1,只需要每 5 秒来回发送一次数据(如果这很重要?)。我只需要一些关于如何设计客户端/服务器以通过这些“阶段”的指导。

这就是我目前正在考虑实现它的方式:

  1. 建立连接后,该连接将有一个相应的变量来描述服务器上的状态。例如:0 是登录前,1 是登录后,2 是托管,等等...

  2. 每当客户端向服务器发送数据时,它都会检查状态并相应地处理它。就像在登录之前发送数据一样,服务器将假定它是登录详细信息,如果它们有效,它将变量更改为 1 并告诉客户端前进。

有一个更好的方法吗?

0 投票
1 回答
373 浏览

objective-c - 基于剩余时间、用户等级、难度的游戏评分算法?

我只是想知道是否有人有任何基于剩余时间、用户级别和难度的好的游戏得分算法。

目前我正在使用一个非常简单的代码行:

问题在于点的范围差异太大。例如,在难度范围为 b/w 1-3 且最长 30 秒的级别 1 中,用户将获得 100 到 9000 分。

此外,对于更高级别,返回的点数太高了。我希望每个级别的得分都更高,但是对于当前的方程式,结果太高了。例如,在难度为 3 且最长时间为 30 秒的 10 级时,用户将获得 3,000 到 90,000 分。再一次,点差太大了,90,000点太高了。

任何帮助将不胜感激。谢谢!

0 投票
1 回答
749 浏览

python - 如何在 Python MMO 游戏中最有效地存储玩家数据?

我正在开发一个 MMO 射击游戏,类似于Python 2.7中的狂神王国游戏。

游戏的玩家数据将包括游戏中每个玩家所穿的装备、玩家的姓名等,这样当他们注销角色时,他们的玩家数据将被永久保存,并在他们登录时再次,他们的玩家数据将被加载到游戏中。为了安全起见,我估计唯一玩家数据条目的数量将是 1,000,000 个条目。

将所有玩家数据存储在一个巨大的 txt 文件、26 个文件或 26*26 个文件中是否更有效?安排这些条目的最佳方式是什么?

示例条目:

0 投票
6 回答
9541 浏览

java - Java 图形闪烁

好的,我了解您对 SSCCE 的需求,所以我创建了(我的第一个)一个。

我设法用不到 200 行代码复制了这个问题。在我的系统上,这个演示完美地编译并运行(当然只有闪烁仍然存在)。我剥离了一切与它无关的东西。所以基本上我们现在有两个源文件:屏幕管理器和游戏管理器。

屏幕管理器:http: //pastebin.com/WeKpxEXW

游戏管理器:http: //pastebin.com/p3C5m8UN

您可以使用这个 make 文件编译此代码(我使用 Linux 的移植版 make for Windows): CC = javac BASE = nl/jorikoolstra/jLevel CLASS_FILES = classes/$(BASE)/Game/GameMain.class classes/$ (BASE)/Graphics/ScreenManager.class

源文件放置在/src目录中的位置和目录中的类/classes

编译为字节码后,可以使用以下 .bat 文件启动游戏:

请注意,该ARGUMENT变量取决于您自己的屏幕设置,并且您必须更改它以便游戏以适合您屏幕的分辨率显示。

0 投票
1 回答
194 浏览

javafx-2 - javaFx 2.0 中的键输入

我目前正在开发一个 javaFX 2.0 游戏,我想知道如何制作它,所以当我输入一个特定的键时会发生一些事情。感谢您花时间阅读本文。

0 投票
2 回答
522 浏览

java - 识别游戏中的线程(也与 TCP 相关)

这是一个学校项目,请不要提供任何代码,我只是在寻找指导我正确方向的提示。

编写并测试客户端订阅的游戏服务器。订阅后,客户端会收到当前正在玩的游戏列表(相同的游戏,只是它的不同“实例”)。客户然后可以选择加入游戏或开始新游戏。一场比赛在实际开始之前必须至少有两名玩家。系统必须支持多个客户端都玩一个游戏,或者多个客户端玩多个游戏。

该项目的目标是获得 Java、TCP 和线程方面的经验。

我当前的设计和实现有 2 个文件:server.java 和 client.java

  1. 服务器文件有 3 个类:Server、Lobby 和 Game
  2. 客户端文件有 1 个类:Client。

“游戏”的实现是微不足道的,我对此很好。

目前,服务器类与客户端类建立 TCP 连接。每次实例化客户端时,服务器类都会接受套接字,然后程序继续运行。

继续,服务器类创建大厅类。

大厅课是我遇到麻烦的地方。默认情况下,我正在创建 1 个“游戏”对象,并传入 clientSocket:

游戏类扩展了线程,我认为这是正确的做法。每个“游戏”都会是一个单独的线程,可以这么说,所以玩家 A 和 B 可以共享一个线程,玩家 C 和 D 可以使用另一个线程开始新游戏。

我是线程新手,但这是我能想到的最好的实现。我排除了大厅的多个线程,因为这没有任何意义,而且客户端的多个线程也毫无意义,所以我认为多线程游戏类是理想的。

现在,当我创建 2 个客户端实例时,它们都加入了同一个“线程”(它们都在同一个游戏中并且可以相互交谈)。

我应该怎么做,一个新玩家可以在大厅里输入“new”或其他任何东西,然后创建一个新的“游戏”,它是一个新线程。

我确定我误解了有关线程或诸如此类的某些部分,但我感谢任何帮助。

0 投票
2 回答
1299 浏览

java - 通过线程具有多客户端的服务器

我遇到了一些麻烦,现在我查看了本教程 http://docs.oracle.com/javase/tutorial/networking/sockets/clientServer.html 本教程为您提供了一个可以连接多个客户端的服务器,当他们连接到服务器时,他们被告知要进行敲门作业,现在我了解了如何传输数据以及什么不是,但是线程如何工作?

我正在开发一个网络乒乓球游戏,其中服务器将持有位置并将它们传递给客户端,现在我有一个连接到服务器的客户端并将球的位置传递给客户端,工作正常,有点跳跃,但我'确定带有 .sleep 的线程会有所帮助。但无论如何我的问题是,我怎样才能让我的客户成为一个线程?我该如何存储它们?

例如这里是敲敲服务器的多线程类

在我们拥有的服务器中

现在查看服务器,它将在每个连接上创建一个新的 KKMultiServerThread,但我该如何存储它们?我可以制作一个 KKMultiServerThread 数组吗?我试图制作一个 KKMultiServerThread 数组,当我尝试这条线时

我收到此错误“无法将 void 转换为线程”如果有人能对我的问题有所了解,那就太好了。

帆布

更新

我现在有自己的线程类

pongData 是一个将所有信息保存在一个字符串中的字符串,现在如果我像这样在我的 pong 服务器顶部声明一个 player1

听的时候做这条线

它给了我这个错误“无法从 void 转换为 PongPlayerThread”我该如何解决这个问题?