मैं एक ऐसा गेम बनाने के लिए एंडइंजिन का उपयोग कर रहा हूं जो बहुत से चलने वाले sprites से संबंधित है। यह असंगत है, लेकिन अंत में मुझे लॉग बिल्ली (थ्रेडिड = 3: सिग्नल 3 पर प्रतिक्रिया) में एक संदेश मिलता है और गेम फ्रीज होता है। इस त्रुटि का मतलब क्या है? मैं कोड जहां ऐसा होता है (यह रूप में चिह्नित है) में संकुचित है:मुझे क्यों मिल रहा है: थ्रेडिड = 3: सिग्नल 3 और गेम फ्रीज (एंडइंजिन) पर प्रतिक्रिया?
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
}
अजीब बात कोड 4/5 बार की तरह काम करता है कि (मैं आमतौर पर 3 या 4 बार स्तर कर सकते हैं और पर निर्भर है 9 गुना) इससे पहले कि दुर्घटनाग्रस्त हो। मुझे यकीन नहीं है कि इसका कारण क्या है। क्या किसी के भी पास कोई सुझाव है?
मुझे एक ही समस्या का सामना करना पड़ता है। आप इसे कैसे हल करते हैं? – Ricardo