いるのですが、ゲーム画面は出来ているのですが、ゲームスタート画面、ゲームオーバー画面を作りたいのですがどうすればよろしいのでしょうか、スタート画面はタッチされたらゲーム画面に切り替わるようにしたいです。 ソースは メインアクティビティーは
package android.game;
import android.os.Bundle;
import android.app.Activity;
import android.widget.LinearLayout;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout l = new LinearLayout(this);
setContentView(l);
l.addView(new textview(this, null, 0));
l.addView(new PView(this, null, 0));
}
}
で、ゲーム画面のクラスは
package android.game;
import android.annotation.SuppressLint;
import android.content.Context;
import android.game.R.id;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import java.util.Random;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Paint;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import java.util.Random;
public class PView extends View{
Paint paint = new Paint();
int player = 0;
int playerV = 20;
int tamaV = 20;
int x = 100;
int y = 50;
int tamaY = player;
int tamaX = player;
int line = 550;
int tama2X = 0;
int tama2Y = 0;
int linex = 400;
int cnt = 0;
int score = 0;
int timerT = 30;
int flg = 0;
int stx = 200;
int sty = 200;
Random rand = new Random();
Resources res = this.getContext().getResources();
Bitmap bg = BitmapFactory.decodeResource(res, R.drawable.haikei);
Bitmap pl = BitmapFactory.decodeResource(res, R.drawable.player);
Bitmap tama = BitmapFactory.decodeResource(res, R.drawable.tama);
Bitmap tama2 = BitmapFactory.decodeResource(res, R.drawable.tama2);
Bitmap lineview = BitmapFactory.decodeResource(res, R.drawable.line);
Bitmap lineview2 = BitmapFactory.decodeResource(res, R.drawable.line2);
public PView(Context context,AttributeSet attrs,int defStyle) {
super(context,attrs);
// TODO 自動生成されたコンストラクター・スタブ
}
@SuppressLint("DrawAllocation")
@Override
protected void onDraw(Canvas c){
timerT--;
if(timerT < 0)
{
timerT = 0;
}
player += playerV;
if(player<0 || 400<player) playerV *= -1;
//弾の処理
tamaY+= 0;
tama2Y += 20;
if(tamaY > getHeight())
{
tamaY = rand.nextInt(500)+1;
}
tamaX = rand.nextInt(30);
tama2Y += 20;
if(tama2Y > getHeight())
{
tama2Y = rand.nextInt(500)+1;
}
tama2X = rand.nextInt(100);
c.drawBitmap(bg,0,0,paint);
c.drawBitmap(pl,player,y, paint);
c.drawBitmap(tama,player,tamaY,paint);
c.drawBitmap(tama2,tama2X,tama2Y, paint);
c.drawBitmap(lineview,0,line,paint);
c.drawBitmap(lineview2,0,linex, paint);
invalidate();
}
public boolean onTouchEvent(MotionEvent me) {
//タッチされた時
if(me.getAction() == MotionEvent.ACTION_DOWN)
stx = 0;
{
if(me.getAction() == MotionEvent.ACTION_DOWN) {
if(tamaY >= line && tamaY < line + 40)
{
tamaY = 0;
score+= 10;
}
}
if(me.getAction() == MotionEvent.ACTION_DOWN){
if(tama2Y >= linex && tama2Y < linex + 50)
{
tama2Y = 0;
score+= 20;
}
}
return true;
}
}
}
このようになっています。 よろしくお願いします
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
Activity を1つ作成して、そこからViewを切り替えるイメージと考えます。
1つViewを作ることはできていると思うので、ゲームスタート画面、ゲームオーバー画面を作成して頂いて、
以下のURLを参考に切り替えていただくことができると思います。
http://blogs.yahoo.co.jp/magoapp/1841049.html
Activityの切り替えはコストがかかる(すなわち重たい)ようです。
http://y-anz-m.blogspot.jp/2011/02/1-activity.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- オープンソース Flaskでサーバー立ち上げに関して 1 2023/08/12 21:02
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- アプリ Android studio 初心者 Hello Android!しか表示されない 1 2023/08/01 08:47
- その他(プログラミング・Web制作) このプログラミングをどう組みますか? Googlecolabでやってるんですが、出来る方お願いします 1 2022/07/13 10:52
- その他(クラウドサービス・オンラインストレージ) Google ColabでGoogleドライブのサブフォルダにファイルを生成する方法 1 2022/10/31 17:37
- その他(パソコン・周辺機器) AndroidにPCを介してCDを取り込んだら なぜか日本語の曲名だけがすべて文字化けしていました。 1 2022/03/31 20:31
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
- その他(プログラミング・Web制作) ColabでのPytorchのエラー 1 2022/11/19 20:51
- Java Java 配列<選挙> 4 2023/07/31 15:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「例外 *** は対応する try 文...
-
eclipseに記述したjavaファイル...
-
setAttribute(String, int)は適...
-
生年月日と今日の日付から年齢...
-
importするには java.io.*; imp...
-
HTMLでのTableタグデータ取得方法
-
二次元配列について
-
サーバーAからサーバーBへPOST...
-
本文から指定文字列の抽出
-
Javaからストアド実行(配列項目)
-
<forEach> 内で供給された "ite...
-
AndroidStudio SQL文の値を取得...
-
ColabでのPytorchのエラー
-
JAVA 乱数で同じ数字を出さな...
-
文字列を数式に
-
C言語のポインターに関する警告
-
ジャバスクリプトについて。
-
System.err. printlnとSystem.o...
-
1~100までの数字を表示し、か...
-
javaで質問です。 文字列2023/2...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
eclipseに記述したjavaファイル...
-
「例外 *** は対応する try 文...
-
ColabでのPytorchのエラー
-
Javaを使ってデジタル時計を作...
-
<forEach> 内で供給された "ite...
-
文字列を数式に
-
importするには java.io.*; imp...
-
python OpenPyXLを使って出力結...
-
Selenium IDEでexportしたコー...
-
シャットダウンフックが呼ばれない
-
Java3Dで横置き円筒体の円筒中...
-
Javaで常駐するソフトを作って...
-
生年月日と今日の日付から年齢...
-
Javaを使用して定時送信をしたい
-
干支の計算で。。。
-
Java での グローバルIP取得
-
GridBagLayoutについての質問
-
ファイル名を動的に生成したい
-
HTMLでのTableタグデータ取得方法
-
importとextendsの用い方の違い...
おすすめ情報