H
Hoffimh
Neues Mitglied
- 0
Hallo,
ich arbeite seit einigen Tagen an einem kleinen Android-Spiel. Dies hab ich in 2 Grundlegende Klassen geteilt(MainActivity.java und SpielActivity.java). Nun möchte ich in der SpielActivity.java eine neue"Seite" aufrufen ("setContenView(R.layout.gameover)"). Dies ist allerdings meines Wissens nach nicht möglich, da dazu die Klasse von "ActionBarActivity" Erben müsste. Allerdings erbt die Klasse SpielActivity.java bereits von "View". Und somit kann ich in der SpielActivity.java keine neue "Seite" aufrufen.
Oder gibt es doch eine möglichkeit dies zu tun ?
Vielen Dank im Vorraus.
MfG Hoffimh
ich arbeite seit einigen Tagen an einem kleinen Android-Spiel. Dies hab ich in 2 Grundlegende Klassen geteilt(MainActivity.java und SpielActivity.java). Nun möchte ich in der SpielActivity.java eine neue"Seite" aufrufen ("setContenView(R.layout.gameover)"). Dies ist allerdings meines Wissens nach nicht möglich, da dazu die Klasse von "ActionBarActivity" Erben müsste. Allerdings erbt die Klasse SpielActivity.java bereits von "View". Und somit kann ich in der SpielActivity.java keine neue "Seite" aufrufen.
Oder gibt es doch eine möglichkeit dies zu tun ?
Vielen Dank im Vorraus.
MfG Hoffimh
Code:
package hoffimh.GicLo.de;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
public class MainActivity extends ActionBarActivity {
public int b;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu_main);
}
public void spielstarten(View view) {
setContentView(new SpielActivity(this));
}
public void credits(View view) {
setContentView(R.layout.credits);
}
public void einstellungen(View view) {
setContentView(R.layout.einstellungen_main);
}
public void spielbeenden(View view) {
System.exit(1);
}
public void gameover() {
setContentView(R.layout.gameover);
}
}
Code:
package hoffimh.GicLo.de;
import android.content.Context;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.view.MotionEvent;
import android.view.View;
import java.util.Random;
import java.util.concurrent.TimeUnit;
import java.util.logging.Handler;
import java.util.logging.LogRecord;
/**
* Created by Hoffimh and Lukas on 19.08.2015.
*/
public class SpielActivity extends View {
private int[] xrandom, yrandom;
private int punkte = 0;
private Ball ball1, ball2, ball3, ball4, ball5, ball6, ball7,ballrandom;
private RedBall redball, redball2, redball3, redball4, redball5;
private GreenBall greenball;
private boolean angeklickt = false;
private boolean angeklickt2 = false;
private boolean angeklickt3 = false;
private boolean angeklickt4 = false;
private boolean angeklickt5 = false;
private boolean angeklicktrandom = false;
public boolean angeklicktred2 = false;
public boolean angeklicktred3 = false;
public boolean angeklicktred = false;
private boolean angeklickt6 = false;
private boolean angeklickt7 = false;
public boolean angeklickt8 = false;
public boolean angeklickt9 = false;
public boolean druck= true;
private final int a1 = 1;
public int b1;
private boolean angeklicktgreen = false;
private MotionEvent event;
private Canvas canvas;
private Random random = new Random();
private Background bg;
public static final int WIDTH = 1920;
final Handler h = new Handler() {
@Override
public void close() {
}
@Override
public void flush() {
}
@Override
public void publish(LogRecord record) {
}
};
private Context context;
public SpielActivity(Context context) {
super(context);
Random random = new Random();
int[] xrandom = {random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1};
int[] yrandom = {random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1, random.nextInt(900) + 1};
this.xrandom = xrandom;
this.yrandom = yrandom;
bg = new Background(BitmapFactory.decodeResource(getResources(), R.drawable.background));
bg.setVector(-5);
ball1 = new Ball(getResources(), xrandom[0], -700);
ball2 = new Ball(getResources(), -100, yrandom[1]);
ball3 = new Ball(getResources(), -600, yrandom[2]);
ball4 = new Ball(getResources(), xrandom[3], -400);
ball5 = new Ball(getResources(), xrandom[4], -100);
ball6 = new Ball(getResources(), xrandom[9], 2000);
ball7 = new Ball(getResources(), xrandom[10], 2100);
redball4 = new RedBall(getResources(), xrandom[11], 2100);
redball5 = new RedBall(getResources(), xrandom[12], 2050);
ballrandom = new Ball(getResources(), -300, yrandom[5]);
redball = new RedBall(getResources(), -600, yrandom[6]);
redball2 = new RedBall(getResources(), -300, yrandom[7]);
redball3 = new RedBall(getResources(), xrandom[5], -400);
greenball = new GreenBall(getResources(), 1100,xrandom[14] );
}
public boolean onTouchEvent(MotionEvent event) {
if (ball1.getangezeigt() && (ball1.isTouched(event.getX(), event.getY()))) {
punkte = punkte + 1;
ball1.setAngezeigt(false);
angeklickt = true;
int xrandom = random.nextInt(900) + 1;
ball1.setAngezeigt(false);
ball1 = new Ball(getResources(), xrandom, -700);
ball1.setAngezeigt(true);
}
if (ball2.getangezeigt() && (ball2.isTouched(event.getX(), event.getY()))) {
punkte = punkte + 1;
ball2.setAngezeigt(false);
angeklickt2 = true;
int yrandom4 = random.nextInt(900) + 1;
ball2.setAngezeigt(false);
ball2 = new Ball(getResources(), -800, yrandom4);
ball2.setAngezeigt(true);
}
if (ball3.getangezeigt() && (ball3.isTouched(event.getX(), event.getY()))) {
punkte = punkte + 1;
ball3.setAngezeigt(false);
angeklickt3 = true;
int yrandom3 = random.nextInt(900) + 1;
ball3.setAngezeigt(false);
ball3 = new Ball(getResources(), -600, yrandom3);
ball3.setAngezeigt(true);
}
if (ball4.getangezeigt() && (ball4.isTouched(event.getX(), event.getY()))) {
punkte = punkte + 1;
ball4.setAngezeigt(false);
angeklickt4 = true;
int xrandom2 = random.nextInt(900) + 1;
ball4.setAngezeigt(false);
ball4 = new Ball(getResources(), xrandom2, -400);
ball4.setAngezeigt(true);
}
if (ball5.getangezeigt() && (ball5.isTouched(event.getX(), event.getY()))) {
punkte = punkte + 1;
ball5.setAngezeigt(false);
angeklickt5 = true;
int xrandom3 = random.nextInt(900) + 1;
ball5.setAngezeigt(false);
ball5 = new Ball(getResources(), xrandom3, -100);
ball5.setAngezeigt(true);
}
if (ball6.getangezeigt() && (ball6.isTouched(event.getX(), event.getY()))) {
punkte = punkte + 1;
ball6.setAngezeigt(false);
angeklickt6 = true;
int xrandom4 = random.nextInt(900) + 1;
ball6.setAngezeigt(false);
ball6 = new Ball(getResources(), xrandom4, 2000);
ball6.setAngezeigt(true);
}
if (ball7.getangezeigt() && (ball7.isTouched(event.getX(), event.getY()))) {
punkte = punkte + 1;
ball7.setAngezeigt(false);
angeklickt7 = true;
int xrandom4 = random.nextInt(900) + 1;
ball7.setAngezeigt(false);
ball7 = new Ball(getResources(), xrandom4, 2000);
ball7.setAngezeigt(true);
}
if (greenball.getangezeigt() && (greenball.isTouched(event.getX(), event.getY()))) {
punkte = punkte + 3;
greenball.setAngezeigt(false);
}
if (ballrandom.getangezeigt() && (ballrandom.isTouched(event.getX(), event.getY()))) {
punkte = punkte + 1;
ballrandom.setAngezeigt(false);
angeklicktrandom = true;
Random random = new Random();
int yrandom2 = random.nextInt(900) + 1;
ballrandom.setAngezeigt(false);
ballrandom = new Ball(getResources(), -300, yrandom2);
ballrandom.setAngezeigt(true);
}
if (redball.getangezeigt() && (redball.isTouched(event.getX(), event.getY()))) {
redball.setAngezeigt(false);
angeklicktred = true;
}
if (redball2.getangezeigt() && (redball2.isTouched(event.getX(), event.getY()))) {
redball2.setAngezeigt(false);
angeklicktred2 = true;
}
if (redball3.getangezeigt() && (redball3.isTouched(event.getX(), event.getY()))) {
redball3.setAngezeigt(false);
angeklicktred3 = true;
}
if (redball4.getangezeigt() && (redball4.isTouched(event.getX(), event.getY()))) {
redball4.setAngezeigt(false);
angeklickt8 = true;
}
if (redball5.getangezeigt() && (redball5.isTouched(event.getX(), event.getY()))) {
redball5.setAngezeigt(false);
angeklickt9 = true;
if ((redball.isTouched(event.getX(), event.getY())) || (redball2.isTouched(event.getX(), event.getY()) || (redball3.isTouched(event.getX(), event.getY()))) || (redball4.isTouched(event.getX(), event.getY())) || (redball5.isTouched(event.getX(), event.getY()))) {
b1 = a1 +1;
}
}
/* if (angeklicktred = true && redball.isTouched(event.getX(), event.getY())) {
System.exit(1);
}
if (angeklicktred2 = true&& redball2.isTouched(event.getX(), event.getY())) {
System.exit(1);
}
if (angeklicktred3 = true&& redball3.isTouched(event.getX(), event.getY())) {
System.exit(1);
}
if (angeklickt8 = true&& redball4.isTouched(event.getX(), event.getY())) {
System.exit(1);
}
if (angeklickt9 = true&& redball5.isTouched(event.getX(), event.getY())) {
System.exit(1);
}*/
this.event = event;
return super.onTouchEvent(event);
}
private void startActivity(Intent myIntent) {
}
/* public boolean angeklicktredneu = angeklicktred;
public boolean angeklicktred2neu = angeklicktred2;
public boolean angeklicktred3neu = angeklicktred3;
public boolean angeklickt8neu = angeklickt8;
public boolean angeklickt9neu = angeklickt9;
*/
public boolean druckneu = druck;
@Override
protected void onDraw(Canvas canvas) {
if (canvas != null) {
bg.draw(canvas);
}
String diepunkte = null;
Integer.toString(punkte);
if (ball1.getangezeigt() == true) {
ball1.drawBitmap(canvas);
}
if (ball2.getangezeigt() == true) {
ball2.drawBitmap(canvas);
}
if (ball3.getangezeigt() == true) {
ball3.drawBitmap(canvas);
}
if (ball4.getangezeigt() == true) {
ball4.drawBitmap(canvas);
}
if (ball5.getangezeigt() == true) {
ball5.drawBitmap(canvas);
}
if (ball6.getangezeigt() == true) {
ball6.drawBitmap(canvas);
}
if (ball7.getangezeigt() == true) {
ball7.drawBitmap(canvas);
}
if (greenball.getangezeigt() == true) {
greenball.drawBitmap(canvas);
}
if (ballrandom.getangezeigt() == true) {
ballrandom.drawBitmap(canvas);
}
if (redball.getangezeigt() == true) {
redball.drawBitmap(canvas);
}
if (redball2.getangezeigt() == true) {
redball2.drawBitmap(canvas);
}
if (redball3.getangezeigt() == true) {
redball3.drawBitmap(canvas);
}
if (redball4.getangezeigt() == true) {
redball4.drawBitmap(canvas);
}
if (redball5.getangezeigt() == true) {
redball5.drawBitmap(canvas);
}
this.canvas = canvas;
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setTextSize(30);
new Paint.FontMetrics();
diepunkte = Integer.toString(punkte);
canvas.drawText("Punkte", 10, 35, paint);
canvas.drawText(diepunkte, 110, 35, paint);
//canvas.drawText(diezeit, 10, 35, paint);
Thread test = new Thread(new Runnable() {
@Override
public void run() {
try {
Random random = new Random();
int[] geschwindigkeitrandom = {random.nextInt(10) + 1, random.nextInt(10) + 1, random.nextInt(10) + 1, random.nextInt(10) + 1, random.nextInt(10) + 1, random.nextInt(10) + 1, random.nextInt(10) + 1, random.nextInt(10) + 1, random.nextInt(10) + 1, random.nextInt(10) + 1, random.nextInt(10) + 1, random.nextInt(10) + 1, random.nextInt(10) + 1, random.nextInt(10) + 1, random.nextInt(10) + 1};
int geschwindigkeitrandomgreen = random.nextInt(16) + 1;
TimeUnit.MILLISECONDS.sleep(5);
if (ball1.addy(geschwindigkeitrandom[0])) {
}
if (ball2.addx(geschwindigkeitrandom[1])) {
ball2 = new Ball(getResources(), -100, yrandom[1]);
}
if (ball3.addx(geschwindigkeitrandom[2])) {
ball3 = new Ball(getResources(), -600, yrandom[2]);
}
if (ball4.addy(geschwindigkeitrandom[3])) {
ball4 = new Ball(getResources(), xrandom[3], -400);
}
if (ball5.addy(geschwindigkeitrandom[4])) {
ball5 = new Ball(getResources(), xrandom[4], -100);
}
if (ball6.addy(-geschwindigkeitrandom[5])) {
ball6 = new Ball(getResources(), xrandom[9],2000);
}
if (ball7.addy2(-geschwindigkeitrandom[6])) {
ball7 = new Ball(getResources(), xrandom[10],2100);
}
if (greenball.addx(-geschwindigkeitrandomgreen)) {
greenball = new GreenBall(getResources(),1100,xrandom[14]);
}
if (ballrandom.addx(geschwindigkeitrandom[7])) {
ballrandom = new Ball(getResources(), -300, yrandom[5]);
}
if (redball.addx(geschwindigkeitrandom[8])) {
}
if (redball2.addx(geschwindigkeitrandom[9])) {
}
if (redball3.addy(geschwindigkeitrandom[10])) {
}
if (redball4.addy2(-geschwindigkeitrandom[11])) {
}
if (redball5.addy2(-geschwindigkeitrandom[12])) {
}
postInvalidate();
} catch (InterruptedException e) {
}
}
});
test.start();
}
public void updtae() {
bg.update();
}
}
Zuletzt bearbeitet: