トップページgamedev
182コメント67KB

JAVAアプリでゲーム

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。02/10/07 02:40ID:AooNUorL
コンテンツアグリゲータに登録する必要があるとか、5Xシリーズ
しか対応してないなど、いろいろ制約があるJ-PHONEのJAVAアプリ
ですが、マターリ語り合いましょう。
0085進可 ◆Sinka1my5k 02/10/31 17:55ID:???
なんだか今まで勘違いしていた模様。

readst = new int[][]{
{0,0,0,1,0,0,0,},
{0,0,1,1,0,0,0,},
{0,0,0,1,0,0,0,},
{0,0,0,1,0,0,0,},
{0,0,1,1,1,0,0,},};
}

って入れた時、

public void copymen(){
for( int sy = 0; sy <= 4 ; sy ++){ //縦配列の1〜5
for( int sx = 0; sx <= 6 ; sx ++){ //横配列の1〜7
stage[sx][sy] = readst[sx][sy]; //コピー
}
}
}

これでコピーできると思ってたんだ

0086進可 ◆Sinka1my5k 02/10/31 17:56ID:???

けど実際プログラム組んでみると

public void copymen(){
for( int sy = 0; sy <= 4 ; sy ++){ //縦配列の1〜5
for( int sx = 0; sx <= 6 ; sx ++){ //横配列の1〜7
stage[sy][sx] = readst[sy][sx]; //コピー ●ここの行が違う●
}
}
}

こうだったんだ。つまり二番目のカッコは
配列の横要素の数字だったんだよね。
xとyを逆に考えてたよ・・・
0087名前は開発中のものです。02/11/02 01:39ID:???
>>84
賠償額の総計も計算しる!
>>86
ついxを先にしてしまうんだよね。
0088進可 ◆Sinka1my5k 02/11/03 15:19ID:???
今日は表示した面データーでキャラを上下左右に動かすことに成功。
壁の当たり判定もあるし、だんだんゲームらしくなってきましたぞ。

で、実はホームページも作ってあったりする。
ゲームの土台もできたし、そろそろURLさらしてみよう。
www.interq.or.jp/moonstone/person/

一応目標もあるから開発状況報告スレにも書いておこうっと。
0089進可 ◆Sinka1my5k 02/11/10 20:38ID:???
今日も今日で戸惑いの日々。

public class b_anmmov extends Applet implements Runnable KeyListener {
コンパイルしたら、この行でダメ出しされるんだ。で、

public class b_anmmov extends Applet implements Runnable, KeyListener {
色々調べて理由は判らないけど、これなら無事コンパイルされるんだ。

あんだよそれ!なんでたったそれだけで出来なくなるんだよ!と、ぶち切れ金剛
まぁなんとか進めたからいいや。理想の器、満つらざるとも屈せずの精神で行こう。
0090名前は開発中のものです。02/11/12 18:41ID:???
>>86
コンマ入ってないから別処理として判定される。
0091名前は開発中のものです。02/11/12 18:42ID:???
ごめん>>90>>89宛て
0092進可 ◆Sinka1my5k 02/11/16 20:44ID:???
開発状況報告スレでも書きましたが
GIFを使ってゲーム画面がそれらしくなりました。

http://www.interq.or.jp/moonstone/person/sekiban/indexeasy.htm

>>90

わざわざどうもです。うーん、解説されてもよくわからない・・・
Runnable, と KeyListenerで一つの処理ってことですか?
それとも点をつけるとRunが全体的におよぶとか。

このあたりの解説書が無いのでちょっとわかりませんでした。
0093名前は開発中のものです。02/11/16 22:12ID:???
「implements 〜」で「〜というインターフェイスを実装する」と言う意味。
「implements Runnable, KeyListener」 だとコンマで区切ってあるから
「RunnableとKeyListnerを実装する」と言う意味になるけど

「implements Runnable KeyListener」 だと
「implements Runnable」「Runnableを実装する」という文の後に
KeyListnerという裸のワードが来るから
コンパイルエラーになる。

これで説明合ってると思う。
0094名前は開発中のものです。02/11/17 00:36ID:???
カンマって、「,の直前の物と同系の物が後ろにありますよ」
ってコンパイラに教えてるんじゃないの?
で、カンマが無いと言う事はその後ろにはそれ以上インプリメントは無いと。

int x y; は駄目で、
int x,y; はOKみたいに。
0095名前は開発中のものです。02/11/17 07:29ID:???
 早い話、コンパイラがコードを読む際に
 そこに書かれている文字が何であるか、常に判断しておく必要があるんですよ。

 予約語"implements"を発見したら、次に現れる文字はインターフェース名だろう
 と判断するわけです。

 そしてさらに次の文字を読んだときに、","を発見したら、
 コンパイラは「そういえばimplements文法ルールにカンマがあったら再度読み込むって書いてあったよなぁ」と
 判断して、次に続く文字をインターフェース名と判断してimplementsで読み込むわけです。

 コンパイラもプログラムですので、人間のようにアバウトに物事考えられないので、
 まず文の始めには自分の知ってるキーワードがないとダメなんですよ。
 今回の件であれば"implements Runnable"でimplements文が終わっちゃってるので、
 次の処理に行っちゃって、次に現れた"KeyListener"なんて命令語知らねぇよ! ってエラーを出されることになる。

 ……まぁ正確にはもうちょっと複雑な処理をしてますし、
 本来はclass文法から説明しないとですが、
 こんな感じでわかりますか? 
 まぁコンパイラの構文解析ルールに文句つけても仕方ないので、そういうもんだと覚えましょうね。
0096進可 ◆Sinka1my5k 02/11/17 21:58ID:???
そ、そうだったのか。解説ありがとうございます。
今は
public class sbt02 extends Applet implements Runnable, KeyListener

って感じになってるんですけど、実はこのあたり漠然としかわかってなかったです。
class sbt02 から後は、全て追加機能名かと思ってました。

付け焼刃の一ヶ月じゃほんと知識があちこち抜けまくり。
よくこれで今までやってこれたもんだよ。
0097進可 ◆Sinka1my5k 02/11/19 21:52ID:???
IE6でなぜか表示できない理由。
どうやらコンパイル時に-target 1.1 とつけなきゃ動かないらしい。
未だにVer1.1が標準なのだそうな。なんか変って言えば変な話。

でも、これでIE6の人にも出来るようになってくれれば嬉しいなぁ。


ところでJAVAアプレットじゃファイルの書き込みができないのに
今さらながら気がついたりする(w サーブレットじゃなきゃいけないとな?
むむぅ、まだまだ道は厳しいな。また色々覚えないといかんし。

JAVAで面エディタ作ろうかと思ってたけど、かなりの後回しになりそう。
0098名前は開発中のものです。02/11/20 06:42ID:???
>>97
 JavaでHTTPアクセスやったことないけど、CGIに出力してサーバー上にファイル作るとか?
 オフラインでもってことであればクッキーしかないよね。

 マイクロソフトがJavaの対応をしていかないようなので、
 最新のJavaで作っても普通に使ってる人のIEでは動かないのが致命的な感じよね。
 実行環境もけっこうでかいし。
 Sunのツールでhtml変換すると自動ダウンロードしてくれるようにできた気がするけど、
 あのランタイムのでかさはナローバンドな人には辛いですな。

 かと言って1.1だとゲームに使いたい機能のほとんどを制限されるからね。
 確か1.1だとアフィン変換とかもできなかったような……。
0099進可 ◆Sinka1my5k 02/11/21 18:48ID:BxOozEwj
今日はGIF画像を予約読み込みさせたので
「ロードしながらゲームスタート」という変な症状が無くなったハズ。

進可 は MediaTracker のじゅもんを おぼえた!

エディタの件はサーブレット無しcgi無しでなんとかする方法を検討中。
0100進可 ◆Sinka1my5k 02/11/28 14:19ID:lTW8hYnL
ちょいと難儀な状態。

シフトキーオンしてから上下左右オンすると普通に処理してくれるのだが

シフトキーオンしてから2468オンすると、キーリリースイベントが
シフトキーは押したままなのにオフしたことにしてしまうのだ。

むーん、これはキーの性能上どうしようもなさそうな気がする。

0101あぼーんNGNG
あぼーん
0102名前は開発中のものです。02/11/28 14:49ID:20okCWv6
ハードウェア側の問題?
0103あぼーんNGNG
あぼーん
0104名前は開発中のものです。02/12/04 05:59ID:nQpeLOgO
           ∧_∧
          /⌒ヽ )
         i三 ∪
          |三 |
         (/~∪
        三三
       三三
      三三          〜糸冬〜
0105進可 ◆Sinka1my5k 02/12/06 22:46ID:d6tuqxrO
2468キーは諦めますた。やっぱりキーボードですので
割り当ての無い同時キー入力には対応していないようでつ。
前のキーが離れる前に次のキーを押した場合、前のキーが
離れたと判断しないと、高速タイプできないもんなー。しょうがないか。


現在、表示の高速化に挑戦してますです。
今さっき気がついたんだけど、もしかしてRUN()メソッドって
paint()の処理奪ってるのかな?

RUN()実行中に他でrepaint()しても表示が変わらないんだよね〜
うーん、どうしよう・・・・・・よし、再描写のフラグ立ててそれで処理するか。
0106あぼーんNGNG
あぼーん
0107進可 ◆Sinka1my5k 02/12/07 00:57ID:Bps5tFwD
うひょう、高速化成功。ただ、あまりに速いせいか
時々表示がちらついてしまう時があります。

う〜ん同時アクセス禁止命令は使ったはずなんだけどなぁ。
0108あぼーんNGNG
あぼーん
0109名前は開発中のものです。02/12/07 09:01ID:BdMzOWkW
パッドに対応してください
0110あぼーんNGNG
あぼーん
0111あぼーんNGNG
あぼーん
0112名前は開発中のものです。02/12/08 03:34ID:MCwPmEmD
IE6+JDK1,4だけど、NullPointerExceptionで止まってしまう。
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:48)
で発生してるらしい。

同期を取るためにシンクロナイズとかいうのがあったような。
0113あぼーんNGNG
あぼーん
0114進可 ◆Sinka1my5k 02/12/08 22:45ID:GXNpbopC
パッドはJAVA自体が対応してなさげ。

ただ、パッド入力を上下左右キーなどに変換できるソフトが
どこかにあったからそれを使えばなんとかなるでしょう。

シンクロナイズは検索してみたけど良くわからなかったヨ。
0115あぼーんNGNG
あぼーん
0116名前は開発中のものです。02/12/09 01:45ID:NACN61Xk
synchronized(同期)で検索すると、
ttp://www2.ttcn.ne.jp/~javaroad/java_thread4.htm
こうゆうのが出てきた。
スレッドを慎重に使うには必要そう。
0117あぼーんNGNG
あぼーん
0118あぼーんNGNG
あぼーん
0119進可 ◆Sinka1my5k 02/12/09 15:44ID:P/48gpNg
synchronized試してみました。ちらつきを抑えるのには成功したのですが
1.3でOKなのに1.4にしたらどうも挙動がおかしい。
内部で何か違うことをしてるのだろうか?

で、いろいろソースを弄くっていたら、ぐちゃぐちゃになってきて
何がナンだかわけわかめの状態に(w

う〜ん、一時リセット。スピードアップする前のソースから練り直してみます。
0120名前は開発中のものです。02/12/09 17:46ID:ZMxWeEIp
あぼーん多いな。
0121あぼーんNGNG
あぼーん
0122あぼーんNGNG
あぼーん
0123進可 ◆Sinka1my5k 02/12/10 17:15ID:oraLld9E
リセットでやり直したら、シンクロナイズ使わないで良くなっちゃった(汗
書き込み方法をもっと厳密にした結果ですた。

しかし何度か1.3と1.4を交互に入れ直ししてるから
だんだんIEが挙動不審になってきたな。
むぅ、もう一台パソコンがいりそうだ。
0124あぼーんNGNG
あぼーん
0125進可 ◆Sinka1my5k 02/12/18 18:35ID:VK1W0H2R
うーむ、キー入力からの移動処理中にまたキー入力があった場合
移動中にもかかわらず再度処理してしまうようだ。
ここがベーシックと違うところだな。

しょうがないのでキー入力からの移動処理が始まったらフラグを立てて
全てが終わるまで再度入力をしないようなプログラムにしますた。
シンクロナイズだとなぜかうまくいかなかったし。
他の人はどう処理してるんだろ?
なんかこのへん本当はもっとうまいやり方があるんだろうね。

これが一直線に作ってきた自分の弱いところだよなぁ。

エディタの方はどうもダメみたい。1.4だとテキストフィールドからの
カット&ペーストができるんだけど、1.3は無理のようだし。

ゲームとしてはもうこれで完成かな?
あとやるとしたらロード中にロード中画面を表示させるぐらいだろうね。
0126あぼーんNGNG
あぼーん
0127名前は開発中のものです。02/12/19 16:53ID:K3s0AkZE
キー入力→入力に応じた処理をそこで行う
じゃなく、

キー入力→キーフラグにセット
ゲームループ内でキーフラグを見て処理

ってワケにはいかない?
0128進可 ◆Sinka1my5k 02/12/19 21:53ID:9fBepT/K
はい、key = e.getKeyCode();
で取得してからgameplay()クラスを実行するという方法でやってはいるんです。
でも何故かそういう現象が起こるんだよなぁ。

多分実行するクラスがgameplay()に移った時点で
またpublic void keyPressed(KeyEvent e){
が有効になってしまうのではないかと思うんですけど。本当のところは不明。

今は感想で出てきた要望のCPU占有が
100%になるのを抑えるのにチャレンジしてまつ。
やはり何もキー入力がなくても書き換える仕様は
ダメなようだ。
0129進可 ◆Sinka1my5k 02/12/19 23:24ID:9fBepT/K
うわ、また下げワスレテタよ。

とりあえずCPU負荷率の問題は解決。
空ループでrun()を回すと負荷がもりもりあがるのが判明。
1サイクルにつきsleep(20)ほど入れたら解決しますた。
0130あぼーんNGNG
あぼーん
0131名前は開発中のものです。02/12/20 11:05ID:c9iTUyav
>多分実行するクラスがgameplay()に移った時点で
>またpublic void keyPressed(KeyEvent e){
>が有効になってしまうのではないかと思うんですけど。本当のところは不明。
keyPressedとgameplayにsynchronized付けてブロック汁!
>>116のリンク先の説明見ると一発で解ると思う。
あと、無理に1.4使う必要も無いかもヨ。仕事で商用の携帯JAVAアプリ作ったけど
1.3で作ったし。1.4だと動かない(・凵E)アヘアヘ
0132名前は開発中のものです。02/12/20 11:59ID:c9iTUyav
石板庭やってみた。おもろい!(・∀・)ガンガレ!
0133あぼーんNGNG
あぼーん
0134名前は開発中のものです。03/01/17 09:41ID:0SE8pdVF
   ∧、
 冫⌒ヽ\ / ,,....,ヽ
 |( ● )| i\c´,_、, ゞ'   何か言い残すことはあるか?
 ゝ _ノ ^i |l、.,,_.ノソ
  |_|,-''iつl/ ー\,;
   [__|_|/〉"|Y/, (),  シュボッ
    [ニニ〉     |E|            END
    └―'
0135名前は開発中のものです。03/02/06 18:51ID:DEyse5Nb
PNGの半透明、透明についてのメモ
エミュレーターでは半透明表示されるが実機ではされない
透明はエミュではOK、実機ではインデックスカラーにしないとNGな物がある
0136名前は開発中のものです。03/06/15 00:52ID:mNsHA9px
作者登録して、簡単なアプリUP、自分でダウン
スゲーって感じな毎日やってます。
ただ、javaは初めてというか、GUI使ったアプリが
初めてなんで、すげーつまずいてます(^^;

そんな訳で、まず今作ってる習作アプリで、
ユーザ名入力-->レコードストアってのを
したいんですが、入力のとこがさっぱり分かりません。

どっかに、サンプル落ちてませんか?
013713603/06/15 01:12ID:mNsHA9px
↑の補足

大昔のDOS時代にゲームやてたので、
キー拾うのとか、ファイルIOとかは、
なんとかなったんだけど、GUIというか
おぶじぇく指向とか、もー辛いっす(泣
0138名前は開発中のものです。03/06/15 11:39ID:nklW6PrT
>>136
日付を見たらわかると思うけど、このスレはすでに死に体。

一応、ヒントをあげると、TextBoxまたはTextField を使いましょう。
013913603/06/15 12:18ID:mNsHA9px
>>138
チェックしてなかった(w

TextField は、さっき撃沈したので
今度はTextBoxをやってみます
先は長い(^^;

今までHttpConnection を試そうとしてみて
SecurityExceptionが出てしまって、
夢が破れたとこ(w
0140名前は開発中のものです。03/06/15 12:50ID:Dl+CCjpJ
http://www.geocities.jp/win_cheri/
下のほうに ばばほど
0141名前は開発中のものです。03/06/15 12:54ID:nklW6PrT
>>139
HttpConnectionで例外が出る場合は、
JADファイルのMIDlet-Network属性をチェック。
014213603/06/15 13:23ID:mNsHA9px
>>141
あ゛ーーー、チェックしてみたら、
テスト用のjadでなくて、別なアプリのjadに
MIDlet-Network書いてました(^^;

でも、動かしたら別なexceptionが出てしまったので
続きは後日にします。
わざわざサンキューでした。
014313603/06/15 13:24ID:mNsHA9px
関係ないけど、ホットゾヌ立ち上げてると、
Emuがワトソン君を出して死にます(^^;
ノートPCも熱くなるし、、、、。
しばしクールダウンします。
0144Homa03/10/02 16:30ID:MRWcIN/e
http://kutipatti.fc2web.com/index.html
上記のサイトを作ってみた。
ゲーム製作とかに役立つと思うからドンドン活用してくだされ。
0145名前は開発中のものです。03/10/02 20:05ID:iv0nEX4r
>>144
無断リンクさせてもらった
http://f14.aaacafe.ne.jp/~javaappl/
0146あい03/10/02 21:07ID:GSrY29kA
かなりおすすめの無料着メロサイト♪
ゲームとか画像UP掲示板とかもあって面白そうだったよ〜♪
ほんとだまされたと思って行って下さい☆
絶対満足するから〜♪

http://yokozuna.tv/m.php?i=21
0147Homa03/10/03 18:57ID:oGqjoCiF
>>145
こちらも無断リンクさせてもらった
0148名前は開発中のものです。03/10/05 19:36ID:oRgdmSCf
0149名前は開発中のものです。03/10/21 16:35ID:/HUghbu9
Java3Dでゲームを作りたいんですが、ひな形を教えてもらえませんか?
メインループとキー入力、描画処理といったところの書き方が、
よく分かりません。お願いします。
0150名前は開発中のものです。03/10/21 17:20ID:PEDhnL6m
>>149
アホか。雛型とかいうレベルじゃねぇじゃねぇか。
わからないならすなおに勉強しろ。
0151名前は開発中のものです。03/10/24 00:15ID:9g1gRB38
いや、それは雛形そのものだと思うが…。
0152名前は開発中のものです。03/10/25 22:19ID:Q04KnPrD
test
0153名前は開発中のものです。04/02/25 19:01ID:YW6RuRGY
保守age
0154名前は開発中のものです。04/03/05 17:59ID:1NO6GP5X
hosyu
0155名前は開発中のものです。04/09/27 00:02:15ID:aLBna6ae
質問です。
Javaアプリでゲーム作ってますが、どうしても逆コンパイルかけられて
ソースを覗かれるのがいやなのです。
何か良い方法はありませんか?
0156名前は開発中のものです。04/09/27 10:09:27ID:T2soXioa
>>155
携帯電話以外からでは落とせなくする、くらししか思いつかん
0157名前は開発中のものです。04/12/15 01:19:48ID:NhtlaWBw
>>155
Javaの仕様です。
オブファスケータを掛けて難読化するぐらいしかできやんです。
0158名前は開発中のものです。2005/11/27(日) 13:54:03ID:pzJuOkH3
こんにちは

アプリ作ってみたいけど、何から初めていいのか分からない
やっぱりゲーム作ってる人はすごいよ
それが神ゲーでもクソゲーでも
0159名前は開発中のものです。2005/12/30(金) 15:35:48ID:B6mbhf7R
人は神にも悪魔にもなれる
お前もがんばれ
0160名前は開発中のものです。2006/03/15(水) 01:11:38ID:cXOEjtfT
保守
0161名前は開発中のものです。2006/03/17(金) 21:38:02ID:vUVyLZPM
 
0162名前は開発中のものです。2006/03/18(土) 14:42:20ID:FQ/Z8uaG
>155
難読化ツール、あいまい化ツールというのがあります。
いくつか探してみたら?
私はRetroGuardというのを気に入っています。
・・・ていうかあんまり広めると人のソースが見られなくなるな・・・
0163名前は開発中のものです。2006/03/18(土) 15:59:29ID:uHKk3MH9
>>162
2年前の記事にレスしても、本人はもう見てないと思う。
0164名前は開発中のものです。2006/03/18(土) 16:12:59ID:ko6FX2W/
スレが浮上するとこういうことあるよな(笑)
0165名前は開発中のものです。2006/03/18(土) 17:38:50ID:vkElBUm0
>>16
どこまで進んだ?
01661552006/03/23(木) 02:12:11ID:qr5DCIs5
>>162
ありがd。2年ぶりにageたのも私ですww
でも難読化やあいまい化は根本的解決にならないので、
C++で作ったDLLでクラスファイルをロードするように作り直しました。
DLLはさすがに読まれないでしょ。(頑張っちゃう人は除外)
Web Startで作成してますが、DLLは「アクセス権限を無制限にしちゃうよ?」の
警告ダイアログが出るしWinとUnixでモジュールを分けて作らないといけないので面倒です。

難読化の逆でリバースコンパイルのみならず、さらに分かりやすい変数名や
ロジックに変換してくれるツールがあればなーと思ってます。
0167名前は開発中のものです。2006/05/21(日) 16:41:04ID:QLiV9SuF
2年の歳月を経て完全なスレ違いであることが発覚とは・・・
0168名前は開発中のものです。2006/05/21(日) 22:24:04ID:/nJQ4VWC
>>16
進捗報告マダー?
0169名前は開発中のものです。2007/01/14(日) 23:44:12ID:Thdw6B9O
 
0170名前は開発中のものです。2007/04/03(火) 14:32:37ID:qom87o6H
完全にFlashに食われたな。
0171名前は開発中のものです。2007/04/03(火) 14:41:26ID:tJ3eBjgj
JavaアプリなんだからFlashとは別だろ
アプレットならありえるかもしれんが、やれることの違いが大きすぎ
0172名前は開発中のものです。2007/04/03(火) 21:04:51ID:rJufFly0
>>166
そこまでするなら普通にSDLとかつかえばいいんでない?
なぜJavaでつくってんの?
本末転倒にみえるんだが。
0173名前は開発中のものです。2007/04/22(日) 19:28:32ID:7uPTnwzf
JAVAじゃBEEPで音程鳴らせないのか・・・
0174名前は開発中のものです。2007/05/03(木) 08:55:06ID:+ADx2sfO
>>173
いや、動的にBEEP音を作ってバッファに格納し、それをwavバイナリとして再生すればどんなBEEPでも鳴らせるw
0175名前は開発中のものです。2008/01/08(火) 14:20:34ID:njc5h6a6
ビープでしゃべらせてた98版卒業おもいだした。
0176名前は開発中のものです。2008/02/13(水) 12:35:14ID:I7aq4ZB6
おまいら気長すぎw
0177名前は開発中のものです。2008/02/13(水) 15:40:29ID:3/Kleoug
98でときメモのビープボイス集めてたの思い出した
0178正義の味方2008/02/13(水) 23:23:39ID:fOOe9uew
地球を救う正義の味方、今こそ参上!!
http://seiginomikata.xxxxxxxx.jp/
0179名前は開発中のものです。2008/10/28(火) 21:06:12ID:y+shKCZx
a
0180名前は開発中のものです。2009/02/24(火) 07:25:39ID:gN7N17Qr
>>179
(´・ω・`)ショボーン
http://imepita.jp/20090124/089930
0181名前は開発中のものです。2010/03/03(水) 01:04:07ID:KU9oMtWO
てす
0182名前は開発中のものです。2010/12/22(水) 21:18:08ID:V8tcAB1S
■ このスレッドは過去ログ倉庫に格納されています