Tôi đang sử dụng AndEngine để tạo một trò chơi liên quan đến rất nhiều hình ảnh động. Đó là không phù hợp khi, nhưng cuối cùng tôi nhận được một tin nhắn trong con mèo đăng nhập (threadid = 3: phản ứng với tín hiệu 3) và các trò chơi bị đóng băng. Lỗi này nghĩa là gì? Tôi đã thu hẹp trong mã nơi nó xảy ra (nó được đánh dấu):Tại sao tôi nhận được: threadid = 3: phản ứng với tín hiệu 3 và đóng băng trò chơi (AndEngine)?
private void levelComplete(){
runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(TestGFX5Activity.this, "Level Complete", Toast.LENGTH_SHORT).show();
}
});
Log.e("Level Complete","Going to reset values");
//Reset values
level++;
fillerCount = (originalNumberOfFillers + level - 1);
areaFilled=0;
fillAreaPercent = 0;
//Rid scene of sprites
for(int x=0;x<=fillerNum;x++){
filler[x].body.setActive(false);
scene.detachChild(filler[x].sprite);
filler[x].active=false;
filler[x].scale=originalSpriteScale;
filler[x].body.setUserData("inactive");
}
levelText.setText("Level: "+Integer.toString(level));
fillersLeftText.setText("Balls left: "+Integer.toString(fillerCount));
percentFilledText.setText("0%");
fillerNum = -1;
Log.e("Level Complete","values reset");
randx = random.nextInt(650) + 25;
randy = random.nextInt(400) + 25;
randix = random.nextInt(10);
randiy = random.nextInt(10);
if(randix%2==0)
ix = 5;
else
ix = -5;
if(randiy%2==0)
iy = 5;
else
iy = -5;
Log.e("Level Complete","Creating destroyer"); //This line executes
destroyer = new Ball(randx, randy, destroyerTR, getVertexBufferObjectManager(), ix, iy); //Code breaks here (*sometimes*)
Log.e("Level Complete","complete"); //This line does not
}
Điều kỳ lạ nhất là các mã hoạt động như 4/5 lần (tôi thường có thể lên cấp 3 hoặc 4 lần, và lên đến 9 lần) trước khi nó bị treo. Tôi không chắc điều gì gây ra nó. Ai có ý tưởng gì không?
Tôi gặp phải vấn đề tương tự. Làm thế nào để bạn giải quyết nó? – Ricardo