Edit02: 間違った距離が原因でプログラムが何かを 0 で除算するためにフラッシュがクラッシュする理由 - まあ私は自分でエラーを見つけましたが、私の質問はまだ、追加/編集できるクラッシュレポートのようなものはありますか?
編集:ここにあるスクリプトにバグが見つかりました
if(baseVerticies[vertX]-boneObj.x < 0){
distance = distance*-1;
}
ある時点で間違った距離が生成されますが、これはプログラムがクラッシュする原因ではありません。バグを解決する方法は知っていますが、フラッシュクラッシュの理由を検出する機能を追加する方法は興味深いでしょう
OLD: ねえ、私は現在 CS6 Flash デモをテストしていますが、1 つの機能が常にフラッシュを強制終了し、エラー メッセージが表示されないので、私の質問は...どうすればバグを突き止めることができますか?
私が知っている唯一のこと:特定の関数(以下に投稿したもの)を呼び出すとクラッシュします-最初の呼び出しではクラッシュしません... 3番目または2番目のように
エラーを追跡するのに役立つdebugEventsまたは何かを追加する方法はありますか?
事前にthx =)
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();
}