Windows Phone的Unity应用程序崩溃
本文关键字:应用程序 崩溃 Unity Phone Windows | 更新日期: 2023-09-27 17:59:02
我在Unity for Windows Phone中编写了非常简单的应用程序。
水族馆背景、气泡(粒子系统)和鱼类从左到右、从右到左移动。
我将应用程序免费发布到Windows Phone应用商店,报告中有许多崩溃。
我可以导出的堆栈跟踪:
App: AquariumInPhone
OS version: 8.0
Problem function: Unknown
Exception type: c0000005
30-day crash count: 23
Stack trace:
Frame Image Function Offset
0 ntdll RtlpWaitOnCriticalSection 0x0000007e
1 ntdll RtlpEnterCriticalSectionContended 0x00000060
2 unityplayer 0x002ef5ac
这是一个非常简单的应用程序,但会崩溃:(
向左移动的鱼有代码:
using UnityEngine;
public class Fish1 : MonoBehaviour {
float speed = 0.0032f;
Vector3 startPoint;
Vector3 currentPosition;
System.Random r = new System.Random ();
void Start()
{
startPoint = transform.position;
currentPosition = transform.position;
}
void Update ()
{
if (Camera.main.WorldToViewportPoint(transform.position).x < -0.2f)
{
int newY = r.Next(0, 5);
if(r.Next(0, 2) == 0)
newY = -newY;
Vector3 pos = new Vector3(12.0f, (float)newY, 0.0f);
currentPosition = pos;
transform.position = currentPosition;
}
else
{
currentPosition.x--;
transform.position += (currentPosition + startPoint) * speed * Time.deltaTime;
}
}
}
向右移动的鱼有代码:
using UnityEngine;
public class Fish2 : MonoBehaviour {
float speed = 0.005f;
Vector3 startPoint;
Vector3 currentPosition;
System.Random r = new System.Random ();
void Start()
{
startPoint = transform.position;
currentPosition = transform.position;
}
void Update ()
{
if (Camera.main.WorldToViewportPoint(transform.position).x > 1.2f)
{
int newY = r.Next(0, 5);
if(r.Next(0, 2) == 0)
newY = -newY;
Vector3 pos = new Vector3(-12.0f, (float)newY, 0.0f);
currentPosition = pos;
transform.position = currentPosition;
}
else
{
currentPosition.x++;
transform.position += (currentPosition + startPoint) * speed * Time.deltaTime;
}
}
}
崩溃的原因是什么?我该怎么解决这个问题?
Greets,David
因为问题似乎与Unity引擎本身有关,所以最好将您的问题发布在Unity支持论坛上。开发人员正在关注论坛,更有可能帮助您。
这可能是一些有问题的设置,甚至是引擎中的一个错误。例如,我有一个Windows应用商店的应用程序,其中只有一个场景会崩溃。在我的情况下,崩溃只发生在我使用开发构建设置时,并且在执行代码之前就崩溃了,所以最终我的代码没有问题。