"Controls created on one thread cannot be parented to a control on a different thread"
u trenutku kada je figura pala do kraja tj. u tom trenutku se poziva funkcija koja prikazuje u NEXT panel-u sledeccu figuru.
Deo koda:
private void Tick (){
while(!gameEnd){
if(generator.canMoveDown(currPiece)){
currPiece.moveDown();
} else {
collector.addElemRange (currPiece.getElems());
currPiece = nextPiece;
if(collector.removeRows()) { // Ako je doslo do brisanja reda.
deletedRows += collector.DELETED_ROWS;
points += collector.DELETED_ROWS * collector.DELETED_ROWS * 100;
int val = prbLevel.Value;
val += collector.DELETED_ROWS;
if(val >= prbLevel.Maximum)
val = val - prbLevel.Maximum;
prbLevel.Value = val;
if(deletedRows >= gameLevelLimit && gameLevel < 12){ // Setting game level
levelUp();
lblLevelNum.Text = gameLevel.ToString();
//timGame.Interval = gameSpeed;
}
lblPointsNum.Text = points.ToString();
lblRowsNum.Text = deletedRows.ToString();
}
if(generator.canAddPiece()) {
gameField.Controls.AddRange(currPiece.getElems());
showNext(); // OVDE PUCA PROGRAM
} else {
if(gameOver.ShowDialog() == DialogResult.OK){
newGame();
} else {
gameEnd = true;
}
}
}
Thread.Sleep(gameSpeed);
}
}
Treba mi samo ideja tj. u kom pravcu da razmishljam u radu sa thread-ovima. Svestan sam da su thread-ovi jedan od problematichnijih delova programiranja ali shta da radim kad nisam imao gde drugde da se obratim. Unapred hvala svima na pomocci i nadam se da nisam previshe trazzio.
[Ovu poruku je menjao _Doctor_ dana 25.09.2005. u 01:33 GMT+1]
Svet je pun budala koje misle da je svet pun budala !