Articles of exception

在Unity3D中使用C#DLL时出现InvalidOperationException

描述 我一直在尝试在Unity中使用自定义DLL。 我已经确认DLL在Unity之外正确运行。 该DLL导入到Unity,当我在脚本中引用它,我没有得到编译器错误。 但是,试图在运行时从DLL运行一个函数给出了这个错误: InvalidOperationException: Client endpoint configuration '*' was not found in 0 endpoints. System.ServiceModel.ChannelFactory.ApplyConfiguration (System.String endpointConfig) System.ServiceModel.ChannelFactory.InitializeEndpoint (System.String endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) System.ServiceModel.ChannelFactory`1[DNDUtility.ContentVaultServiceTest.IContentVaultService]..ctor (System.String endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) System.ServiceModel.ClientBase`1[TChannel].Initialize (System.ServiceModel.InstanceContext instance, System.String endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) System.ServiceModel.ClientBase`1[TChannel]..ctor (System.ServiceModel.InstanceContext instance, System.String endpointConfigurationName) System.ServiceModel.ClientBase`1[TChannel]..ctor (System.ServiceModel.InstanceContext instance) System.ServiceModel.ClientBase`1[TChannel]..ctor () DNDUtility.ContentVaultServiceTest.ContentVaultServiceClient..ctor () DNDUtility.DataManager..cctor () Rethrow as TypeInitializationException: An exception […]

XNA纹理GetDataexception

当使用这个代码时: public static Texture2D MakeTexRed(Texture2D tex) { Texture2D drawTex = new Texture2D(Game1.graphics.GraphicsDevice, tex.Width, tex.Height); Color[] data = new Color[tex.Width * tex.Height]; tex.GetData<Color>(data); for (int i = 0; i < data.Length; i++) { data[i].R = (byte)((data[i].R + 255) / 2); data[i].G /= 2; data[i].B /= 2; } drawTex.SetData(data); return drawTex; } 我得到这个例外: The type you are […]

如何处理委托给新产生的线程的加载过程中发生的运行时exception

我正在寻找multithreading的资源分配例程(即世界加载)在我的游戏,使他们可以发生在背景,同时呈现加载屏幕等…问题是,我曾经有这样的代码(伪) void foo() { … try { mWorld = world.create(…) } catch(EntityNotFoundException e) { … } } 然而,现在世界正在被加载到另一个线程上,我需要注册一个监听器,当世界准备就绪时会收到通知。 问题是,如果在新创建的线程内发生exception,我不能像在这里一样试着把它包围起来。 这个问题如何解决? 我正在考虑加载线程接口与看起来像这样的处理程序: public interface IInitializationMonitor<T> extends IInitializationProgressMonitor { void begin(); void completed(T item); void failed(Throwable error); } 问题在于错误需要用instanceof多次testing,或者在try块内部重新进行。 我很好奇,如果有一个更优雅的解决scheme… 谢谢。

Greenfoot中的生命计数器抓到了“不兼容types”的例外

我需要做一个生命反击,当我的演员被敌人击中时,他的生命会减less1。 我把这个方法放在我的Actor类中: private void decreaseLife() { Actor enemy = getOneIntersectingObject(Enemy.class); if (enemy != null) { int lastIndex = Scenario.getLifeBar().size()-1; Life LastLife = Scenario.getLifeBar().get(lastIndex); /** catch error on lastIndex –> "incompatible types" **/ getWorld().removeObject(enemy); getWorld().removeObject(LastLife); Scenario.getLifeBar().remove(lastIndex); } } 我使用Scenario.getLifeBar().size() – 1; 从我的ArrayList集合中获取最后一个索引,然后将其减1。我的LifeMax被设置为3,所以当减1时应该返回值= 2,并保存在lastIndex 。 这是我的代码包括Scenario类中的LifeBar代码: import greenfoot.*; import java.util.ArrayList; public class Scenario extends World { private […]

我应该如何处理libGDX中的exception?

我想让我的游戏尽可能为用户运行,显然。 如果游戏突然停止而没有留下任何通知,他们会失望,他们很难再现错误,所以我可以修复它。 所以当抛出一个exception时,比如一个ArrayIndexOutOfBoundsExceptionexception,我该如何处理呢? 我目前的stream程如下:DesktopLauncher> MyGame>菜单屏幕/游戏屏幕/其他屏幕

glGenArrays – 此function不可用

每当我调用glGenVertexArrays() ,我得到以下exception: 线程“main”中的exceptionjava.lang.IllegalStateException:此function不可用。 org.lwjgl.system.Checks.checkFunctionality(Checks.java:36)at org.lwjgl.opengl.GL30.getInstance(GL30.java:651)at org.lwjgl.opengl.GL30.nglGenVertexArrays(GL30.java:3101 )在me.package.name.ClassName.methodName(ClassName.java:ANY_LINE_NUMBER)处的org.lwjgl.opengl.GL30.glGenVertexArrays(GL30.java:3128) 操作系统是OS X Yosemite 10.10.2,Java 7.我认为这个问题是OS X特有的。 立即模式绘图工作。 我正在使用LWJGL 3。

为什么MonoGame网格在试图绘制时会抛出未处理的exception?

我正在使用学习XNA 4.0的“3D模型”一章来进一步理解XNA中的3D实现,但是当我尝试绘制每个网格时,我遇到了未处理的exception。 这是我的基本Draw()函数。 它决定了我的模型中的网格变换的数量,然后继续使用默认的BasicEffect绘制每一个。 public virtual void Draw(Camera camera) { Matrix[] transforms = new Matrix[model.Bones.Count]; model.CopyAbsoluteBoneTransformsTo(transforms); foreach (ModelMesh mesh in model.Meshes) { foreach (BasicEffect effect in mesh.Effects) { effect.EnableDefaultLighting(); effect.Projection = camera.projectionMatrix; effect.View = camera.viewMatrix; effect.World = GetWorld() * mesh.ParentBone.Transform; } mesh.Draw(); } } 当我尝试运行时,我停在mesh.Draw(); ,与错误 在MonoGame.Framework.dll中发生未处理的types为“System.InvalidOperationException”的exception 附加信息:准备绘制时发生错误。 这可能是因为当前顶点声明不包含当前顶点着色器所需的所有元素。 当前的顶点声明包含这些元素:SV_Position0,TEXCOORD0,COLOR0。 这个模型是由我们的讲师提供的。 我已经确认模型不应该有任何问题绘图。 在MonoGame论坛上 ,我也发现了一个类似的问题 ,但是用户报告有一个包含“SVPOSITION0,TEXCOORD0,COLOR0”的当前顶点声明,并且解决scheme似乎正在将“SVPOSITION0”改为“ […]

将TextureRegion转换为Pixmap时的Libgdx问题

我正在开发一个Tile基础游戏,我必须生成过渡贴图。 要做到这一点,我有一个方法可以从2个现有的和1个“filter瓷砖”中生成这些瓷砖。 我使用这个方法来从我的TextureAtlas检索的区域制作一个pixMap。 public Pixmap getPixMapFromRegion(TextureRegion region){ Texture texture = region.getTexture(); TextureData data = texture.getTextureData(); if (!data.isPrepared()) { data.prepare(); } Pixmap pixmap = data.consumePixmap(); int width = region.getRegionWidth(); int height = region.getRegionHeight(); Pixmap px = new Pixmap(width, height, Format.RGBA4444); for (int x = 0; x < width; x++) { for (int y = 0; y […]

为什么我的更新和绘制循环引发并发访问exception?

我已经接受了为我的小兄弟创建一个基本的2D横向卷轴怪物卡车游戏的挑战。 理论上这似乎很容易,但是从XNA跳入Java却感觉很奇怪。 我的游戏类有一个扩展Runnable的私人类GameLoop 。 在重写的run()方法中, while -loop处理时间等。 还有一个用于绘图的目标targetFPS 。 循环如下所示: public void run() { long fpsTime = 0; gameStart = System.currentTimeMillis(); lastTime = System.currentTimeMillis(); while(game.isGameRunning()) { currentTime = System.currentTimeMillis(); long ellapsedTime = currentTime – lastTime; if(mouseState.leftIsDown) { que.add(new Dot(mouseState.getPosition())); } entities.addAll(que); game.updateGame(ellapsedTime); fpsTime += ellapsedTime; if(fpsTime >= (1000 / targetedFPS)) { game.drawGame(ellapsedTime); } lastTime = […]

Try-catch或ifs在C ++中的error handling

游戏引擎devise中广泛使用的是exception,还是使用纯if语句更为可取? 例如有例外情况: try { m_fpsTextId = m_statistics->createText( "FPS: 0", 16, 20, 20, 1.0f, 1.0f, 1.0f ); m_cpuTextId = m_statistics->createText( "CPU: 0%", 16, 20, 40, 1.0f, 1.0f, 1.0f ); m_frameTimeTextId = m_statistics->createText( "Frame time: 0", 20, 20, 60, 1.0f, 1.0f, 1.0f ); m_mouseCoordTextId = m_statistics->createText( "Mouse: (0, 0)", 20, 20, 80, 1.0f, 1.0f, 1.0f ); m_cameraPosTextId […]