ユーザがビットマップをクリックするたびにスコア変数に値を加算したい。スコアは別のクラスで使用されます。しかし、今のところ私はそれを動作させることはできません、私は実行時にエラーが表示されませんが、それは常に0(テキストビューのデフォルトの文字列)を表示します。別のスクリプト(Java、Androidスタジオ)で整数を設定する
これはスコアをカウントし、別のスクリプトでそれを「設定」するメソッドです。
@Override public void run(){
Point size = new Point();
Display display = getWindowManager().getDefaultDisplay();
display.getSize(size);
Random wR = new Random();
Random hR = new Random();
int width = size.x;
int height = size.y;
int randomW = wR.nextInt(width-50)+50;
int randomH = hR.nextInt(height-50)+50;
CheckScore scoreClass = new CheckScore();
while (running){
if(!surface.getSurface().isValid())
continue;
Canvas canvas = surface.lockCanvas();
canvas.drawColor(Color.rgb(85, 107, 47));
canvas.drawBitmap(incect[frame], randomW, randomH, null);
if ((touch.x >= randomW && touch.x <(randomW + xBitmap) && (touch.y >= randomH && touch.y < (randomH+yBitmap)) && move == true)){
randomW = wR.nextInt(width-50)+50;
randomH = hR.nextInt(height-50)+50;
if (randomW > width - 200){
randomW = width - 200;
}
if (randomH > height - 200){
randomH = height - 200;
}
canvas.drawBitmap(incect[frame], randomW, randomH, null);
hasMoved = true;
scoreClass.score = score;
score = score +1;
}
そして、これがスコアを受け取ると、それを表示する必要がありますスクリプトです:
package com.example.bena.23;
import android.app.Activity;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
public class CheckScore extends AppCompatActivity {
int score;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.score);
getScore();
}
public void getScore(){
TextView text = (TextView)findViewById(R.id.thisScore);
text.setText(Integer.toString(score));
}
}
私はスクリプトサイズのためにメソッド(run())しか書いていませんでした。私が大事に私を助けてくれる人がいれば、大変感謝しています。
[Androidでのアクティビティ間でデータを渡すにはどうすればいいですか?](http://stackoverflow.com/questions/2091465/how-do-i-pass-data-between-activities-on-android) –
Androidで 'new Activity()'を使わないでください。 'Intent'を使う –