我使用 Unity 版本 2020.3.32f1 和 Rider 作为编辑器。每当我对脚本进行任何更改(即使是很小的更改)时,Unity 脚本程序集都会花费太多时间来编译和加载。有时它会完全冻结 Unity,并且在任务管理器中我可以看到 Unity 会话的“应用程序没有响应”。
有谁知道我该如何解决这个问题?
我想描述一下情况。我叫康斯坦丁。我瞎了。完全瞎了。在盲人程序员中,有开发音频游戏的人。它是什么样子的?想象一下 GTA、黑手党、使命召唤、任何射击游戏。只有没有图形,没有视线高度。并且你被 3D 声音引导,在声音上射击等等。最近,很多用 Python 编写的人。但就我个人而言,我不会相信 Python 有一个好的在线项目......为了使用计算机,我们使用屏幕访问程序。为计算机屏幕上的所有内容发声的程序。您可以在此处阅读更多相关信息:https : //www.vincit.com/blog/software-development-450-words-per-minute https://medium.com/free-code-camp/looking-back-to -what-started-it-all-731ef5424aec 为什么我们不能使用视频游戏引擎?因为并非所有人都可以访问我们。最流行的 Unity 和虚幻引擎不适用于我们的程序。Unity 有什么问题?Unity 编辑器无法访问。绝对地。我不知道它是用什么工具开发的,但是通过界面导航是不现实的。盲人开发者在 Unity 的官方网站上反复写过这件事,但唉,他们已经很多年没有听到我们的消息了。我的问题是:Unity 编辑器需要做多少工作?怎么可能,是否有可能在代码编辑器中编写游戏代码而不求助于 Unity 编辑器,或者可以将其最小化,这可以在 Autoit 上完成?提前致谢!
我11岁的小弟弟想学习编程游戏.他从未编程,但想学习编程.他的兴趣在于游戏和游戏编程,他知道这可能很难,但他想这样做.所以,很明显,我转向SO伙伴,知道你对他应该如何去做的感受.请记住,请建议
一旦开始部分被处理,你也可以建议中级和高级的东西,但这个问题是关于非常初级的.如果有网页游戏等领域.控制台游戏对于通用电脑游戏,请关于这方面的建议.正如我所说,他从未编程,他可能想尝试所有领域并选择他最喜欢的那个.我希望这并不是要求这个领域的人,但如果这个问题很大,请就如何将其分解为多个问题提出建议.〜感谢.
我正在制作一个基于浏览器的PHP游戏,并在我的数据库中为玩家提供该玩家总EXP或经验的记录.
我需要的是一个公式,将exp翻译成一个级别或等级,满分100.
所以他们从第1级开始,当他们点击时,50表示,进入2级,然后当他们达到125/150时,2级.
基本上是一个稳定地使每个级别更长的公式(更多exp)
有人可以帮忙吗?我不擅长数学:P
我是新手.....我用Godot游戏引擎制作了第一款游戏,并成功导出到android .....复制到我的手机上,它可以正常安装和运行。几个小时后,我进行了一些更改并再次将其导出.....再次复制了apk,但是现在当我尝试安装它时,它无法完成安装。我尝试过多次更改导出设置,但无法安装。请帮忙。
尝试使用adb安装,我得到了:
C:\Users\Suhail\AppData\Local\Android\Sdk\platform-tools>adb install -r .apk
adb: failed to install .apk: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Package /data/app/vmdl1790547402.tmp/base.apk has no certificates at entry AndroidManifest.xml]
Run Code Online (Sandbox Code Playgroud)
我正在使用Oracle jdk 10(最新版本)中的jarsigner,并且调试密钥库是由同一jdk创建的。我的设备在Android 8.0上运行
我在手机上下载了APK编辑器.....选择我的apk .....并尝试了其中的其他“安装位置”设置。默认情况下是“自动”(由OS做出决策).....将其更改为“仅限内部使用” ...仍未安装.....将其更改为“默认(未指定)”,它已安装且运行良好。那么这一切对我的情况有没有帮助?导出后,我不必每次都使用APK编辑器。还是谢谢你的时间
当我尝试在Godot中一键部署时:
Exception occurred while executing:
java.lang.IllegalArgumentException: Unknown package: org.godotengine.dangerousplane
at com.android.server.pm.Settings.getInstallerPackageNameLPr(Settings.java:5053)
at com.android.server.pm.PackageManagerService.getInstallerPackageName(PackageManagerService.java:27945)
at com.android.server.pm.PackageManagerService.isOrphaned(PackageManagerService.java:27951)
at com.android.server.pm.PackageManagerService.deletePackageVersioned(PackageManagerService.java:24078)
at com.android.server.pm.PackageInstallerService.uninstall(PackageInstallerService.java:996)
at com.android.server.pm.PackageManagerShellCommand.runUninstall(PackageManagerShellCommand.java:912)
at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:134)
at android.os.ShellCommand.exec(ShellCommand.java:96)
at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:28755)
at android.os.Binder.shellCommand(Binder.java:581)
at android.os.Binder.onTransact(Binder.java:481)
at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:3211)
at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:5111)
at android.os.Binder.execTransact(Binder.java:682)
Installing into device (please wait..): Samsung SM-A520F
running cmdline: "C:/Users/Suhail/AppData/Local/Android/Sdk/platform-tools/adb.exe" "-s" "5210d5c5e2787409" "install" "-r" …
Run Code Online (Sandbox Code Playgroud) 我没有2D图形和游戏体验.我教了几百个错误和几十个小时.我从简单的装扮游戏开始.我使用Nexus 5x进行开发,屏幕看起来不错.当我完成一个里程碑时,我在大联想平板电脑和小巧的三星迷你手机上试玩游戏.它看起来很可怕.
原始矢量PSD文件看起来很完美,PNG导出也没有任何问题.但是,当我缩放图片时,它是颠簸的.我知道它是位图.但是还有另一张我在其他地方缩放的图片,它看起来很好(两张图片都是32位):
当我从Google Play玩一些游戏时,他们从未遇到过扩展问题.他们是如何实施的?他们使用载体吗?有一些技巧吗?
我把所有东西放到assets
文件夹中,虽然花了1 MB.我反编译了一些apk,他们没有为每个分辨率设置变种.虽然他们很好地缩放图片.
一些源代码片段:
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
this.w = w;
this.h = h;
canvasBitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
drawCanvas = new Canvas(canvasBitmap);
}
protected void onDraw(Canvas canvas) {
if (baseBitmap != null) {
double scale = Math.min((double) w / (double) figure.getW(), (double) h / (double) figure.getH());
figure.setScaleRatio(scale);
int sw = (int) (scale * figure.getW());
int x = ((w - sw) >> 1); …
Run Code Online (Sandbox Code Playgroud) 我在Linux/XWindows上的简单Java2D应用程序中遇到系统事件和窗口刷新率之间的意外交互.最好用下面的小例子来说明.
该程序创建一个小窗口,其中以不同的旋转显示半圆.图形以每秒60帧的速度更新,以产生闪烁的显示.这是通过a BufferStrategy
,即通过调用其show
方法来实现的.
但是,我注意到当我(a)将鼠标移到窗口上以便窗口接收鼠标悬停事件或(b)按住键盘上的键以使窗口接收键盘事件时,闪烁明显增加.
由于BufferStrategy.show()
调用的速率不受这些事件的影响,可以通过控制台上的打印输出看到(它们应该始终保持在60 fps左右).然而,更快的闪烁表明显示实际更新的速率确实改变了.
在我看来,除非生成鼠标或键盘事件,否则无法实现实际的,即每秒可见的60帧.
public class Test {
// pass the path to 'test.png' as command line parameter
public static void main(String[] args) throws Exception {
BufferedImage image = ImageIO.read(new File(args[0]));
// create window
JFrame frame = new JFrame();
Canvas canvas = new Canvas();
canvas.setPreferredSize(new Dimension(100, 100));
frame.getContentPane().add(canvas);
frame.pack();
frame.setVisible(true);
int fps = 0;
long nsPerFrame = 1000000000 / 60; // 60 = target fps
long showTime = …
Run Code Online (Sandbox Code Playgroud) 在试图在SFML中找到一个可靠的游戏循环的过程中,我遇到了这个我似乎无法弄清楚的问题.我能够删除所有SFML代码,仍然clock()
在time.h中看到问题.然后我走得更远,仍然看到问题使用std::chrono::steady_clock
.
问题:我总是看到跳过更新之间可以完成的工作量.每次更新应该花费1/60秒,剩下的时间用于Draw()
尽可能多地完成绘图.有时抽奖量下降到0或1,没有明显的原因.这会以明显的口吃形式冒泡到实际应用中.除了"跳过"之外,完成的抽签次数非常一致.
这是一个图像(注意更新时间的跳转和绘制中的下降): 问题的控制台输出
一些代码:
#include <iostream>
#include <time.h>
#include <chrono>
using namespace std;
using namespace std::chrono;
void Draw()
{
//for (int i = 0; i < 1000000; i++);
}
int main()
{
steady_clock::time_point update_time;
steady_clock::time_point update_next;
int update_rate = 16666666; // 60 times a second (nanosecs)
int updates;
int max_updates = 5;
int draws = 0;
update_next = steady_clock::now();
while (true)
{
updates = 0;
update_time = steady_clock::now();
while (duration_cast<nanoseconds>(update_time - update_next) > …
Run Code Online (Sandbox Code Playgroud) 好的,我理解你需要一个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
jLevel: $(CLASS_FILES)
@echo Done.
classes/%.class : src/%.java
@echo Compiling src/$*.java to $@ [command: $(CC) src/$*.java ] ...
@$(CC) -Xlint:unchecked -d classes -classpath src src/$*.java
Run Code Online (Sandbox Code Playgroud)
源文件放在/src
目录和目录中的类中/classes
.
在编译为字节码后,可以使用以下.bat文件启动游戏:
@set STARUP_CLASS=nl.jorikoolstra.jLevel.Game.GameMain
@set ARGUMENTS=1280 1024 32
@java -cp classes;resources %STARUP_CLASS% %ARGUMENTS%
Run Code Online (Sandbox Code Playgroud)
请注意,ARGUMENT
变量取决于您自己的屏幕设置,您必须更改它,以便以适合您屏幕的分辨率显示游戏.
我是Java的初学者,我需要一些帮助.
我正在尝试实现广度优先搜索算法来解决益智游戏(在Android上解锁我的游戏).我完成了GUI,但我坚持使用算法.
到目前为止,我可以计算每个块的可用移动,这些移动应该是根节点的子节点.每个节点(linkedlist)具有每个块的位置,并且所有节点都存储在Set中.
我现在需要的是将每个节点标记为已访问,因此我不会进入循环.
我会感激任何帮助,如果我误解了任何事情,请纠正我.
提前致谢 :)
game-development ×10
java ×3
android ×2
2d ×1
c++ ×1
clock ×1
frame-rate ×1
game-engine ×1
game-loop ×1
godot ×1
graphics2d ×1
java-2d ×1
php ×1
windows ×1
x11 ×1