Edit02:闪存崩溃的原因是因为错误的距离导致程序将某些内容除以 0 - 我自己发现了错误,但我的问题仍然是,是否有类似崩溃报告的东西可以添加/编辑?
编辑:我发现脚本中的错误位于此处
if(baseVerticies[vertX]-boneObj.x < 0){
distance = distance*-1;
}
在某一时刻它会产生错误的距离,但这不是程序导致崩溃的原因,我知道如何解决这个错误,但如何添加功能来检测闪存崩溃原因仍然很有趣
OLD:嘿,我目前正在测试 CS6 Flash 演示,但一个功能总是会杀死 Flash,而且我没有收到任何错误消息,所以我的问题是......我怎样才能找到这个错误?
我唯一知道的事情:当我调用某个函数(我在下面发布的那个)时它会崩溃 - 它不会在第一次调用时崩溃......更像是在第三次或第二次调用
有没有办法添加 debugEvents 或其他有助于跟踪错误的东西?
提前谢谢 =)
public function rotateBone(boneObj : Bone, point : Point){
//rotates the boneGrafik
boneObj.rotation = (point.x+boneObj.old_rotation)/2;
if(axis == "horizontal"){
var firstV : int = selected_bone*(squares+1)*2;
var lastV : int = selected_bone*(squares+1)*2 + squares*2;
var radius : Number = Math.sqrt((verticies[lastV]-verticies[firstV])*(verticies[lastV]-verticies[firstV])+
(verticies[lastV+1]-verticies[firstV+1])*(verticies[lastV+1]-verticies[firstV+1]));
//will be exectued for every single vertex
for(var s = 0; s<=squares; s++){
var vertX : int = selected_bone * (squares+1) * 2 + s*2;
var distance : Number = Math.sqrt((verticies[vertX]-boneObj.x)*(verticies[vertX]-boneObj.x)+
(verticies[vertX+1]-boneObj.y)*(verticies[vertX+1]-boneObj.y));
//calculates Vector
var rads:Number = boneObj.rotation / 180 * Math.PI;
var p:Point = new Point();
p.x=Math.cos(rads);
p.y=Math.sin(rads);
//baseMesh is used in order to check if the vertex pos is positiv / negative
if(baseVerticies[vertX]-boneObj.x < 0){
distance = distance*-1;
}
verticies[vertX] = boneObj.x + p.x * radius * (distance/radius);
verticies[vertX+1] = boneObj.y + p.y * radius * (distance/radius);
}
}else if (axis == "vertical"){
for(var r = 0; r<=rows; r++){
vertX = r * (squares+1) * 2 + selected_bone * 2;
}
}
updateMesh();
}