Hallo zusammen ![]()
Ich habe folgendes Problem und zwar ich möchte ein kleines Game machen mit dem man per Druck dem Gegner Schaden zufügt.
Jedoch schaffe ich es nicht das die Gesundheit des Gegners verringert wird 
 
Die HP des Gegners sind per TextView links oben angezeigt die ID des TextViews ist enemyHealthBar.
Mein Projekt besteht aus mehreren Activitys und für den Kampf habe ich ein extra Activity names fight erstellt.
Habe das Projekt gelöscht und neu angefangen und jetzt alles nach Gedächtnis wieder hergestellt, jedoch jetzt kommt ne NullPointerException dazu wird wohl zu spät sein heute ![]()
Hier mein Code:
Code
		
					
			package com.skyzy_studios.prototyp;
import android.content.Intent;
import android.graphics.Typeface;
import android.media.Image;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.TextView;
import org.w3c.dom.Text;
public class Fight extends AppCompatActivity implements View.OnTouchListener {
    private Typeface ttf;
    private int enemyHealth = 100;
    private int myDamage = 10;
    public TextView health;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // fullscreen
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_fight);
        // Schriftart
        ttf = Typeface.createFromAsset(getAssets(), "fonts/swtor.ttf");
        ((TextView)findViewById(R.id.enemyHealthBar)).setTypeface(ttf);
        findViewById(R.id.enemyHealthBar).setOnTouchListener(this);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_fight, menu);
        return true;
    }
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_UP) {
            fight(enemyHealth, myDamage);
            health.setText(Integer.toString(enemyHealth));
        }
        return false;
    }
    public int fight(int enemyHealth, int myDamage) {
         enemyHealth = enemyHealth - myDamage;
        return enemyHealth;
    }
    // Back Button
    public void startBack(View view) {
        Intent startBackIntent = new Intent(this, NewGame.class);
        startActivity(startBackIntent);
    }
}
	
			Alles anzeigen