- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我开始将我的 LIBGDX 应用程序移植到 IOS。我使用 libgdx 的 Xamarin studio 端口在 IOS 上运行我的应用程序。我移植成功,但应用程序无法在 Iphone 模拟器中加载 TextureAtlas 文件和 BitmapFont 文件。
我试过的代码是
...
AssetManager assetManager = new AssetManager();
assetManager.load("packer/help.txt", TextureAtlas.class);
if (assetManager.update()) {
}
...
上面的代码在桌面和安卓上对我来说运行良好,但在 Iphone 模拟器上运行时我得到了以下日志。
Unhandled Exception:
0 iosgame 0x000f4f7e mono_handle_exception_internal_first_pass + 2190
1 iosgame 0x000f69c2 mono_handle_exception_internal + 1602
2 iosgame 0x000f750f mono_handle_exception + 47
3 iosgame 0x0013a662 mono_x86_throw_exception + 306
4 ??? 0x0b730f8f 0x0 + 192089999
at com.badlogic.gdx.assets.AssetManager.update () [0x0009c] in /Users/badlogic/jenkins/workspace/libgdx-mac/gdx/src//com/badlogic/gdx/assets/AssetManager.java:346
at (wrapper synchronized) com.badlogic.gdx.assets.AssetManager.update () <IL 0x00009, 0x0002c>
at com.racing.gold.Screen.SplashScreen.update (single) [0x0001f] in /Users/Vikalp/Downloads/libgdx-nightly-20130609/Generated Project/my-gdx-game/src/com/racing/gold/Screen/SplashScreen.java:80
at com.racing.gold.Game.render () [0x0000d] in /Users/Vikalp/Downloads/libgdx-nightly-20130609/Generated Project/my-gdx-game/src/com/racing/gold/Game.java:48
at (wrapper managed-to-native) MonoTouch.UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) <IL 0x00056, 0x000a4>
at MonoTouch.UIKit.UIApplication.Main (string[],string,string) [0x0004c] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:38
at com.ios.temp.project.Application.Main (string[]) [0x00000] in /Users/Vikalp/Downloads/libgdx-nightly-20130609/Generated Project/my-gdx-game-ios/Main.cs:33
at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <IL 0x00049, 0x00077>
30 iosgame 0x0006f462 mono_jit_runtime_invoke + 722
31 iosgame 0x001d34de mono_runtime_invoke + 126
32 iosgame 0x001d76d4 mono_runtime_exec_main + 420
33 iosgame 0x001dcac5 mono_runtime_run_main + 725
34 iosgame 0x000ccb65 mono_jit_exec + 149
35 iosgame 0x0026b494 main + 1988
36 iosgame 0x00068269 start + 53
2013-06-11 09:51:47.694 iosgame[567:c07] Unhandled managed exception: java.net.MalformedURLException: unknown protocol: file (com.badlogic.gdx.utils.GdxRuntimeException)
at com.badlogic.gdx.assets.AssetManager.handleTaskError (System.Exception t) [0x000bf] in /Users/badlogic/jenkins/workspace/libgdx-mac/gdx/src//com/badlogic/gdx/assets/AssetManager.java:512
at com.badlogic.gdx.assets.AssetManager.update () [0x0009c] in /Users/badlogic/jenkins/workspace/libgdx-mac/gdx/src//com/badlogic/gdx/assets/AssetManager.java:346
at (wrapper synchronized) com.badlogic.gdx.assets.AssetManager:update ()
at com.racing.gold.Screen.SplashScreen.update (Single deltaTime) [0x0001f] in /Users/Vikalp/Downloads/libgdx-nightly-20130609/Generated Project/my-gdx-game/src/com/racing/gold/Screen/SplashScreen.java:80
at com.racing.gold.Game.render () [0x0000d] in /Users/Vikalp/Downloads/libgdx-nightly-20130609/Generated Project/my-gdx-game/src/com/racing/gold/Game.java:48
at com.badlogic.gdx.backends.ios.IOSGraphics.OnRenderFrame (OpenTK.FrameEventArgs arg0) [0x00184] in /Users/badlogic/jenkins/workspace/libgdx-mac/backends/gdx-backend-iosmonotouch/src//com/badlogic/gdx/backends/ios/IOSGraphics.java:185
at OpenTK.Platform.iPhoneOS.iPhoneOSGameView.RunIteration () [0x000c1] in /Developer/MonoTouch/Source/monotouch/src/OpenGLES/OpenTK_1.0/Platform/iPhoneOS/iPhoneOSGameView.cs:830
at OpenTK.Platform.iPhoneOS.CADisplayLinkTimeSource.RunIteration () [0x00000] in /Developer/MonoTouch/Source/monotouch/src/OpenGLES/OpenTK_1.0/Platform/iPhoneOS/iPhoneOSGameView.cs:158
at (wrapper managed-to-native) MonoTouch.UIKit.UIApplication:UIApplicationMain (int,string[],intptr,intptr)
at MonoTouch.UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x0004c] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:38
at com.ios.temp.project.Application.Main (System.String[] args) [0x00000] in /Users/Vikalp/Downloads/libgdx-nightly-20130609/Generated Project/my-gdx-game-ios/Main.cs:33
我尝试将我的包扩展名从 .txt 更改为 .pack,但得到了相同的输出。
我无法在 Libgdx 论坛上找到解决方案。请赐教这个问题。
最佳答案
嘿,我发现了问题。
当我们让应用程序从 Xamarin Studio 运行时,它不会打包所有项目。它留下了一些文件,如文本文件、xml 等。我们需要标记它们以将它们包含在应用程序中。 将所有这些文件标记为捆绑资源。
关于java - 通过 AssetManager 加载时无法使用 libgdx 在 IOS 中加载 TextureAtlas 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17037652/
public static AssetManager assets = new AssetManager(); 应该避免,但是如何在多个屏幕中处理 AssetManager?这是一个好的解决方案吗?
以下代码生成一个没有条目的列表: AssetManager am = getContext().getAssets(); try { String[] xmls = am.l
两个版本都可以使用,但我不确定使用哪个版本以及为什么要使用那个版本?如果您已经卸载了 Assets ,是否需要处置 TextureAtlas? 版本 1:加载包文件(带有位置数据的 TexturePa
我正在尝试使用 AssetManager 加载我的 libgdx 游戏的关卡图像,从我遵循的指南来看这似乎很容易,但我遇到了某种错误.. 我在名为 Assets.java 的类中使用此代码包加载器;
我正在使用 assetManager 加载各种 Assets 。但是当我从应用程序中“返回按钮”并再次加载它时,在我的 show() 方法 while (!Assets.manager.update(
我在选择墙纸时遇到了异常。我实际上不确定罪魁祸首是什么功能。这是错误日志: I/ActivityManager( 1360): Starting activity: Intent { c
我正在阅读 Mario Zechner 的“开始 Android 游戏”一书,很高兴我拿起了它,但我现在遇到了一个问题,他要求用户在早期编写代码的“测试”之一这本书。并不是说我反对对它们进行编码,我宁
我试图让 AssetManager 形成 Android 库项目中的一个类,但出现错误: Caused by: java.lang.NullPointerException: Attempt to i
是否可以在没有上下文的情况下访问 AssetManager?我看到其他人的解决方案是扩展Application,并将Context保存在onCreate()中,并创建一个静态getter来返回Cont
所以我在 LibGDX 中制作游戏,我使用 AssetManager 加载我的所有 Assets 。 我只是不确定哪种是正确的使用方法。 目前我正在第一个屏幕之前加载所有游戏 Assets 。 然后我
MyGdxGame.java public void print(){ manager=new AssetManager(); manager.load("selectlevel.p
尝试创建加载屏幕,我有一个 Assets 类和一个 LoadingScreen 类,该类立即从以下位置调用: this.setScreen(new LoadingScreen(this)); 在加载屏
我正在使用 Libgdx assetmanager 加载 UI 资源。它工作得很好,直到我重新启动应用程序(Android)。发生的情况如下: 我开始游戏:运行良好 我使用 Gdx.app.exit(
我在 libgdx 中的 AssetManager 遇到问题,我在主类中创建它,并有一个 getMethod 将 assetManager 返回到我的屏幕。当我在屏幕类中转到 assetManager
这个问题已经有答案了: Android - The local variable tst may not have been initialized (7 个回答) 已关闭10 年前。 我有一个类,我
我正在使用 Java 中的 assetmanager 打开一个文件以在我的本地环境中读取。我希望在初始化时只打开这个文件一次,然后多次使用文件中定义的函数。为此,我需要将 assetmanager 保
进行 Android 2.1 开发。任何人都可以向我解释为什么以下代码生成 IOException 并且不加载文件吗?这个确切的代码曾经有效,据我所知,它应该仍然有效。作为引用,Log.d() 命令正
我有 2 个类,来自 BinderData 类,它扩展了 BaseAdapter(我不能将此类扩展到 Activity,因为我必须扩展到 BaseAdapter)我正在通过以下代码调用类 AssetA
我正在 libgdx 中开发平台游戏。我使用 AssetManager 类将我所有的 Assets 加载到游戏中。所以,我的问题是:我是否需要处理我的纹理和图集,即使我正在使用 Assets 管理器卸
我正在尝试将 AssetManager.list() 的功能用于游戏,但一次调用需要花费大量时间(~0.5-1.0 秒)。更糟糕的是,我能找到的 AssetManager 的唯一来源列出了以下定义,没
我是一名优秀的程序员,十分优秀!