1read 100read
2013年08月ゲ製作技術67: JAVAアプリでゲーム (185)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
【PS2で】ベーシックスタジオ【ゲーム作成】 (142)
MMOのサーバ(ハード)の構成ってどうなってるの? (150)
RPGのストーリーを作ってくれ、参考にしたい (199)
マップチップを作るスレ (109)
ロックマン8をFC風にリメイク Part10 (458)
【一ヶ月】夏休みゲーム製作スレ【多分無理】 (108)
JAVAアプリでゲーム
1 :02/10/07 〜 最終レス :2013/07/28 コンテンツアグリゲータに登録する必要があるとか、5Xシリーズ しか対応してないなど、いろいろ制約があるJ-PHONEのJAVAアプリ ですが、マターリ語り合いましょう。
2 : マターリ。
3 :あぼーん :あぼーん あぼーん
4 : 関連すれ ROMANSING JAVA http://game.2ch.net/test/read.cgi/gamedev/1029521845/ Javaアプレットのゲームの限界は! http://game.2ch.net/test/read.cgi/gamedev/1005230153/ Javaでゲーム作る話してるキチガイがいるよ(藁 http://game.2ch.net/test/read.cgi/gamedev/1013953851/
5 :あぼーん :あぼーん あぼーん
6 : いちいち終了とカキコする必要無し だまって放置できねえのかガキども みっともねえなあ、ゲーム系PGは
7 :あぼーん :あぼーん あぼーん
8 :あぼーん :あぼーん あぼーん
9 : いちいち終了とカキコする必要無し だまって放置できねえのかガキども みっともねえなあ、ゲーム系PGは
10 :あぼーん :あぼーん あぼーん
11 : There is no necessity of writing in with an end purposely. Can't children leave it silently? Therefore, the programmer of a game is unsightly.
12 :あぼーん :あぼーん あぼーん
13 : っていうか、重複スレだからって重複レスすんのやめてくれよ、 一応みんな中身チェックしに来るんだから。
14 : >>11 をエキサイトに投げてみた。 終了で故意に書き込むこと必要はありません。 子供はそれを暗黙に残すことができませんか。 したがって、ゲームのプログラマは不体裁です。
15 :あぼーん :あぼーん あぼーん
16 : なんだ、よく見りゃ立てられたばっかりのスレか。 過去にBASICしか使ったことが無いけど 最近ゲーム作りを再開しようと思ってJAVA勉強し始めたばっかりだから 下げ進行でコソーリ常駐してみよう。 勉強も含めて完成は1年以内の予定。内容は倉庫番もどき。 作る人が作れば3日ぐらいで完成できるような内容。 制作進行は、気長〜〜〜〜〜〜〜に逝きます。 ちなみに今日はHTMLに「Hello!」と表示できました(w
17 : ういっす、今日は黄色い円を描くことに成功。 丸を描くにはどんなメソッドが必要かを あちこち調べまくるのがメンドかった。 メソッド集の解説書、持って無いんよ。 ネットで小一時間ほど調べても見当たらなかったし。 さ〜て、次はキー入力に挑戦だ。 2468キーの取得はサンプルソースでわかったけど ↑↓←→のキーはどうやって調べるんだろ? BASICの時と同じで16進のキーコードがいるのかな? とりあえずはまたWEBの海で検索〜。2chで聞くのは最後の武器にしよう。
18 : メソッドなんかの解説、本家のとこから落としてきたけど わかりにくいわサンプル無いわで初心者の役に立ちそうに無い。 現在やっとキー入力に対して上下左右を表示させるのに成功。 エラーの理由を知るのに時間がかかったよ。 public void keyPressed(KeyEvent e)だけが必要なのに public void keyTyped(KeyEvent e){} という 何の処理もしない行をつけないと、コンパイルしてくれないんだ。 WEBで見つけたサンプルは古いやりかたのせいで推奨しないって警告が出るし。 先は長そうですな。次はキーでキャラを上下左右させてみようか。 ほぼ日曜プログラマ状態だから次は1週間後に。
19 : 糞スレage
20 : public void keyTyped(KeyEvent e){} イベントリスナをインプリメントしてるせいじゃなかったかな。 自分もJAVA始めたばっかり。ややこしいね。
21 : それと、SunのサイトのAPIリファレンスもみといたほうがいいかも。
22 : o /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ / / This thread was ended / / with no problems. / / Thank you. / / / / From a Morara / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/ ∧_∧ / /∧_∧ ( ・∀・) / /(・∀・ ) ( )つ ⊂( ) | | | | | | (__)_) (_(__)
23 : Javaは米国サンマイクロシステムズ社が開発したプログラミング言語です。 文法的にはCやC++等に似たオブジェクト指向言語です。 Java言語によりプログラムされたものはアプレットとアプリケーションの二種類に分けられます。 アプレットはWWW上で配布されWWWブラウザの画面内で実行されます。 アプリケーションは普通のワープロや表計算ソフトと同様にコンピュータ上で独立して実行させる事が出来ます。 Javaプログラムの本体はクラスファイル(拡張子名が".class"のファイル)です。 これはアプレット・アプリケーションに関係なく共通です。 一つのアプレット・アプリケーションが一つのクラスファイルだけとは限らず、 複数のクラスファイルから構成されている場合も少なくありません。 Javaプログラムを作成する エディター→コンパイル→Javaプログラム まず最初にワープロやエディタ等でソースコード(ソースファイル)を作成します。 このソースファイルをJavaコンパイラという専用ソフトを用いてクラスファイルへの 変換(コンパイル)操作をする 実際に実行出来る形式のJavaプログラムを作成します。 まとめ JavaはCやC++等に似たオブジェクト指向言語で、アプレットとアプリケーションの二種類に分けられる
24 : >>23 少しでもゲームに絡めて話してほしいな。 なんかつくってる?
25 : どもっす。リファレンス見たけどよーわからんっす。 サンプルがあればなー。最近じゃ使用方法がわからないメソッドは そいつを直接ググルにかけてサンプル探してます(藁 力技だねぇ。 とりあえず上下左右のキーで円を動かすまではできますた。 まだゲームとも言えない段階。次は面を読んで表示させるのに挑戦だ。
26 : メソッド名をググル、良い方法だね。 自分はいまVectorとかListらへんをいじくってる。 アプレットだと制約とかあるんじゃない?
27 : 面読み&表示は完了。配列の基本的な扱いは覚えたから これでやっと壁の当たり判定ができるぞ。 制約は今のところ感じてませぬ。っていうか どこが自分の問題で、どこがアプレットの制約なのやら?って段階(藁 ところで最近わかったんだけど、JRAアプレットって 何か1キャラ動かすたびに、いちいち画面全部を描き直してるんだねぇ。 昔はスプライトが使えるベーシックでしかゲームを作ってなかったから ちょっと新鮮だったよ。
28 : みんな、javaアプリケーションでゲーム作っているの? どんな環境?オレはEclipse・・・ でも、全然使いこなせないよ
29 : >>28 最近はRobocodeのロボットとアイフルのお姉さんを作ってる。 コードエディタのみでいえばVJ++6.0が最強かもしれんが IDEならやっぱりeclipseだろ。ForteやJBuilderはちょっとな。 Eclipseの日本語ドキュメントはここらへんを嫁。 http://muimi.com/j/eclipse/ http://www.dgic.co.jp/%7Ek-kata/eclipse/eclipseframe.html
30 : ∧∧ ミ _ ドスッ ( ,,)┌─┴┴─┐ / つ. 終 了 │ 〜′ /´ └─┬┬─┘ ∪ ∪ ││ _ε3 ゛゛'゛'゛
31 : やっぱみんなEclipseなんだ。俺も5%くらいしか使いこなせてない。 そもそも、オブジェクト指向があやしい。 アイフルのお姉さんって、 どんなに愛を語っても、ひたすら融資を進めてくる人工無能ですか?
32 : 今日の最後に書き込み〜。Eclipseって始めて知ったよ。 最初の頃は本当にjavacとエディタオンリーでやってて エラーが長くて前のが読めなくてどうしようもなかったから DevBoosterなんてのを探して使ってた。見た目と機能は同じみたい。 もっと細かいことができるようになると違ってくるだろうけどね。 まぁ今はこれでいいや。 では、また来週。
33 : アイフルのお姉さん関連スレ http://pc3.2ch.net/test/read.cgi/tech/1031944356/l50
34 : >>27 > 何か1キャラ動かすたびに、いちいち画面全部を描き直してるんだねぇ。 バックバッファ(オフスクリーン)は使ってないだけでは? >>29 アイフルのお姉さんワロタ あんたが作ってたのか
35 : Sorry ×バックバッファ(オフスクリーン)は ○バックバッファ(オフスクリーン)を
36 : >>34 残念ながらそうじゃなくてアイフルのお姉さんのパクリを作ってんの。 J2SEはv1.4から正規表現を標準でサポートしてるから 意外と簡単にそれらしいのが作れるよ。
37 : >>34 DirectXで書いてるのと同じノリだとそうなるらしい。 それじゃアプレットでは使い物にならんっての
38 : >>23 >アプレットとアプリケーションの二種類に分けられます。 サーブレットもあるべ。
39 : 誰か、Javaを教えてよ。 classって何? { } の間に書かれた物を1つのclassって呼ぶの? public class echo { } なら echoプログラムって呼んでいいの? あと、オブジェクト指向プログラムなら欲しい処理の金型があって そこに数値を入れたりするんでしょ? main( )にリターン値を入れるなら main(String argv[]) リターン値って何に使うの? クラスはメソッドの集まり?
40 : クラスは、データと、それに関する関数をまとめたもの。 mainの戻り値は別のプログラムから呼ばれたときに使うんじゃないかな。
41 : >>39 >public class echo { } ならエコークラスと呼んだ方が良いんじゃない? mainのリターン値? mainにリターン値を入れるならもちろん return (value); を呼びだしてmainを抜ければ良いんですよ。 そうするとプログラムの呼び出し側に終了コード(value)が返るので、 それを使えばエラー終了か正常終了かを判断したりできるよね。 一応、 ちなみにそのアーギュメントは引数と呼ぶべきです。 argv[]はプログラムに渡される起動パラメータです。 Javaでこれ使ったっけ?(getParameterとかなかったかな?) 用はプログラムの起動時に文字列などを追加すると、それを実行コード側で取得できるのよ。 Windowsとかでアプリケーションにファイルをドラッグ&ドロップして起動したことない? あれはアプリの起動時にドロップしたファイル名をパラメータとして与えているわけで、 実行コード側で「ファイル名が指定されていたら〜をする」という処理をしたいときに役立つわけです。
42 : >>39 >>41 慣例として ○main(String[] args) ×main(String argv[]) ○return val; ×return (val); ○コマンドライン引数 ×起動パラメータ
43 : >>41 >Javaでこれ使ったっけ?(getParameterとかなかったかな?) Appletと混同してるのか?
44 : >>38 そんな分け方してったら Swingアプリ iアプリ とか幾らでも捏造できるよ…
45 : ageちった。欝死
46 :あぼーん :あぼーん あぼーん
47 : 明日休暇が取れたのでちょっと遊んでみたりして。 JRAは遅いって言われるけど、どのくらいの速度か気になったので 1000個の塗りつぶし円をブロック崩し風に跳ねまわしてみる。 うひょー!Sleep無しだと速えぇ〜!何がなんだかってくらいだし。 思ってたより速いじゃないか。 てっきり昔のベーシックぐらいの遅さかと思ってたよ。ちと安心。
48 : JAVAの遅さは相対的なものだよ。
49 : 誰かJava先生になってください。 作り方がわかりません
50 : チェック細かいなぁ…… コーディングスタイルなんて個人、または組織ごとに好きに書かせれば良いじゃんよぅ。 もちろん私はreturn (val);なんて書きませんけど、大抵の初心者向け技術書ってこういう風に書いてなかったっけ? >main(String[] args) JAVAしか使わないなら良いけど、C言語だとこれじゃダメだから、そういうクセは無ければ無い方がいいかと。 >Appletと混同してるのか? そう言えばJavaアプリケーション作ったことなかったっす(笑) >>47 近頃の一般に広まっているマシンのCPUは速いので、 ご大層なモノ作らないなら、全然速度的には問題ないと思います。 Java1.4の仕様見てないんでとりあえず聞きますけど、VRAMアクセスとかできるようになったんですか? CPUだけだと限界あるよね……。 Imageを拡大描画とかするといきなり重くなったりしません? あとアプレットビューワで動かしたときの速度と、 ブラウザで動かした場合だとブラウザの内部スレッドのタイマの関係なのか、 動作がかなり遅くなった記憶があるんですけど、あれって改善されてるのかな? それともアプレット側からプライオリティを変更できる方法があったんでしょうか……。 >てっきり昔のベーシックぐらいの遅さかと 昔の体感速度だとBASICもそれなりだったような……MSXの時の記憶ですけどね(笑) Javaは最適化する要素が少ないから楽っちゃ楽だけど、個人的に気分は悪いかな……。 >>49 技術書買いなさい。値段もケチらずにそこそこのを。 ……というか、プログラムを組む以前の段階で分からないと言ってますか?
51 : そうだねぇ。Javaはただでも、とりあえず本買っとかないと。 買ったらいやでも読まなきゃならないし。 自分は「BlackBook」と、「Javaによる、初めてのアルゴリズム入門」 というのを買いました。それぞれ3千円ほど。
52 : >>50 >もちろん私はreturn (val);なんて書きませんけど、 >大抵の初心者向け技術書ってこういう風に書いてなかったっけ? いや、C言語でも Java でも return(val); みたいに括弧つけるのは ご法度とされているが。 (三項式の場合 -return (bool ? 0 : 1) みたいな奴- を除く)
53 : >>52 >ご法度とされているが。 え? そうなの? goto乱用する奴は殴り飛ばしたくなるけど、カッコ乱用するくらい……いや、やっぱ殴りたくなるな。 しかしいつの間にご法度になったんだ……? 俺は聞いた事無いけどなぁ。というかそんなこと気にも留めた事なかったけど……。
54 : SunのJavaコーディング規約から。 http://java.sun.com/docs/codeconv/html/CodeConventions.doc6.html#438 「値を持つreturn文は、何らかの形で返り値をより明白にするものでない限り カッコを使ってはならない」だそうな。 今はこれが主流じゃないかな。似たような規約はいろいろあると思うにょ。 C言語だったら、retrun(0)とかtypoするとリンクするまで気づかないこともあるし。
55 :あぼーん :あぼーん あぼーん
56 : >>54 ほんとだ……。 Javaはキャスト強要したりコンパイル時の警告とか、 「そんな細かいことで!」って言いたくなるようなエラー出したり、 融通のきかねぇ言語だなぁって思ってたけど、 まさかコーディングスタイルまで口出ししていたとは……。 改行とか{}の有る無しなんてどうでもいいじゃねぇかヨ……。 >今はこれが主流じゃないかな 今というか10年、もっと前からそうじゃなかったかなぁ……。 ム、いつ頃までreturnにカッコつけてたんだろ? 覚えてねぇ……。エディタで予約語に色が付くようになってからか?
57 : ネイティブアプリケーション連携機能 (504だけ) ネイティブアプリケーションからのiアプリの起動 (メールやブラウザ、赤外線ポートからiアプリを起動する) iアプリからのネイティブアプリケーションの起動 (iアプリからブラウザや音声発信通話を起動する) バックライトのオン・オフをちゃんと設定しないとNシリーズなどの折り畳み式で 閉じたとき高負荷がかかり動作が不安定になるので注意。 以上の事を踏まえてJavaを学習しましょう。
58 : 用語の勉強 オブジェクト [物]部品 変数 等 パッケージ [クラスを種類別に分類して集めたもの] java.applet , java.awt , java.util 等 クラス [オブジェクトをモデル化したもの] Applet , Graphics 等 インスタンス [クラスを具体化したもの] new演算子で作成 メソッド [関数、閉じた手続き] init , start , paint 等
59 :あぼーん :あぼーん あぼーん
60 : >>58 age てまで書いたネタのわりには 肝心の interface が抜けてるYo! 落第だな。しっかし、挙げてるパッケージが見事に偏ってますな。 学生さんかな?
61 : >>57 >バックライトのオン・オフをちゃんと設定しないとNシリーズなどの折り畳み式で >閉じたとき高負荷がかかり動作が不安定になるので注意。 え? そうなんですか? その情報サンクス! と思って、N504で試してみましたが、 特に不安定になったような感じはしないんですが……。 もし良かったらもうちょっと詳しく教えてもらえませんか? 個人的にiアプリでも作ろうかと思ってるんですが、 電話機固有のシステム関連はよく調べてないですよね。 でも700ポリゴンくらいでも10fpsくらい?出せてるようなのでちょっとやる気が出てきました。 ただN504だと低レベル3D扱えなくて腹立たしいですけど。 >>60 コレコレ、大人が子供をいじめるものではありません(笑 一応ゲーム製作の板なのでinterfaceなんかなくても……ダメか? 挙げてるのが偏ってるって、全部挙げさせるのは酷っしょ。 個人的には用語を覚えるよりコードを覚えろと言いたい気もしますが、 ……まぁ何事も土台は大切よね。 ただ、言語は知ってるけどソフトは作れないって奴にはならないようにね。 ……わぉ! ここってJ-PHONEのJavaアプリのスレだったのね! 気付かなかった……。 つーことはiアプリネタはスレ違いだったのね。 今ごろ気付きました、すんません……
62 :あぼーん :あぼーん あぼーん
63 : 本来なら各状態ごとにclassを作るのがjavaっぽい書き方になる(少なくとも私はそう思う)んだが classを作るごとにfilesizeが跳ねるのでDojaでは事実上ご法度になる。 なのでCanvasClass1個使うだけで中身はC言語のようにだらだら書くだけ。 classにすれば楽なのにと思ってても関数で我慢してます。 (ちなみに1回しか呼び出されない関数などは作りません、こうなるとC言語でもないな(笑)) どうしても漢字入力したい所だけはPanelClassに切り替えるけど、 入門書見てこんなもんかと納得すればオブジェクト志向なんて必要なし。
64 : > ……わぉ! > ここってJ-PHONEのJavaアプリのスレだったのね! > 気付かなかった……。 > つーことはiアプリネタはスレ違いだったのね。 > 今ごろ気付きました、すんません…… ええーっ、俺なんてただのJRAの話してたYO! だってスレタイにJ-PHONEなんてどこにもないじゃん! う〜ん…てことはこれ以上はスレ違いだから他でやったほうがいいかな?
65 : Javaなら何でもいいでしょ。アプリだろうがアプレットだろうがサーブレットだろうが //画面に文字を表示するコード class Sample1 { public static void main(String args[]) { System.out.println("ここの文字を"); System.out.printlin("表示だよ"); } }
66 : //画面に出力するコード class Sample1 { public static void main(String args[]) { System.out.println("画面に表示"); System.out.println("ここは下段に"); } }
67 : //画面に出力するコード class Sample { public static void main(string args[]) { System.out.println("上に表示"); System.out.println("下に表示"); } }
68 : //画面に出力するコード class Sample1 { public static void main(String args[]) { System.out.print("この場合は") System.out.print("どうなる?") } }
69 : >>63 コピペなの? ってことはレスしても無駄なのか? でも一応レスすると、そんなの最適化の基本じゃないかヨ。 個人的にはiアプリは容量減らすの重要なんだから、 ライブラリクラスで使ってる内部変数全部publicにしろ!って思うのは私だけ? 容量ギリギリだっつのにカプセル化じゃねぇよ、ったく……。 あと、オブジェクト指向ってのは画期的な高速化アルゴリズムとかじゃないのよ。 必要、不必要の問題じゃないってば。 それに最適化ってのは一通り完成した後にするもんだろうよ……。 >>64 >>1 の >J-PHONEのJAVAアプリですが、マターリ語り合いましょう。 って書いてありますよね? J-PHONEってjアプリとでも言うのかと思ってた。 どうなんだろね? 2chルール自体良く分かってないんだけど……スレとか掲示板ごとにあるんかな? >>65 System.outは標準出力にだから場合によっては画面に出ないでしょ?(^^ ……いらんツッコミごめん。
70 : そのコピペはプログラム板のiアプリに書いてあったよ。
71 : //リテラルの勉強 class Sample3 { public static void main(String args[]) { System.out.println('A'); System.out.println("Javaへようこそ"); System.out.println(123); } } 文字・文字列・数字 リテラル=特定の値
72 : //エスケープシーケンスの勉強 class Sample4 { public static void main(String args[]) { System.out.println("円記号を表示します。:\\") System.out.println("アポストリフィーを表示します。:\'") } } キーボードから入力出来ない特殊文字を表示出来る
73 : 漏れら極悪非道の終了ブラザーズ! クソスレは終わらせてやるからな!  ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧_∧ ∧_∧ END (・∀・∩)(∩・∀・) ENDE (つ 丿 ( ⊂) FIN ( ヽノ ヽ/ ) 了 し(_) (_)J 完
74 : //キーボードからの文字列入力 import java.io.*; class Test { public static void main(String args[]) throws IOException { System.out.println("文字列を入力してください。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); System.out.println(str+"が入力されました。"); } }
75 : 次の問に答えなさい。 あなたは何歳ですか? 23 リターン あなたは23歳です。
76 : import java.io.*; class monndai { public static void main(String args[]); throws IOException { System.out.println("あなたは何歳ですか?"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readline(); int num = Integer.parseInt(str); System.out.println("あなたは"+ num +"です。") } }
77 : 円周率の値はいくつですか? 3.14 リターン 円周率の値は3.14です。
78 : //円周率の値 class test { public static void main(string args[]) throws IOException { System.out.println("円周率の値はいくつですか?") BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str =br.readLine(); int num =Integer.parseInt(str); System.out.println("円周率は"+ num +""); } }
79 : 考えてみればここ、立て逃げスレなんだよね。 だったら今の状況でもいいかも。 iアプリでゲームは他のスレであるし キチガイがいるよスレにわざわざ移るのもなんだし。 今日はスペースキーで面データーを次々読み出すのに成功。 用意した二次元配列に後からデータを一括入力ってのが わからんかったからプログラム板で聞いてしまった。 次は作った迷路でキャラを動かしてみるかなー
80 : あれ >>79 だったのか。 new int[][]{ {....},{....} };
81 : >>78 おいおい、円周率をint値に代入するなよ。
82 : 円周率が約3になったのは記憶に新しい
83 : つまり>>78 のコードは壮大な皮肉か。
84 : //賠償しる二ダ!! import java.io.*; class neta { public static void main(String args[]) throws IOException { System.out.println("賠償金が欲しい二ダ。他に欲しい人は何人二ダ?"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int num =Integer.parseInt(str); int test[]; test = new int[num]; System.out.println("それぞれの人は何億円の賠償を求めますか?"); for(int i=0 ;i<num; i++){ str =br.readLine(); int tem =Integer.parseInt(str); test[i] = tem; } for(int i=0; i<num ; i++){ System.out.println((i+1) + "番目の人の賠償は" +test[i]+ "億円二ダ!!"); } } }
85 : なんだか今まで勘違いしていた模様。 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]; //コピー } } } これでコピーできると思ってたんだ
86 : けど実際プログラム組んでみると 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を逆に考えてたよ・・・
87 : >>84 賠償額の総計も計算しる! >>86 ついxを先にしてしまうんだよね。
88 : 今日は表示した面データーでキャラを上下左右に動かすことに成功。 壁の当たり判定もあるし、だんだんゲームらしくなってきましたぞ。 で、実はホームページも作ってあったりする。 ゲームの土台もできたし、そろそろURLさらしてみよう。 www.interq.or.jp/moonstone/person/ 一応目標もあるから開発状況報告スレにも書いておこうっと。
89 : 今日も今日で戸惑いの日々。 public class b_anmmov extends Applet implements Runnable KeyListener { コンパイルしたら、この行でダメ出しされるんだ。で、 public class b_anmmov extends Applet implements Runnable, KeyListener { 色々調べて理由は判らないけど、これなら無事コンパイルされるんだ。 あんだよそれ!なんでたったそれだけで出来なくなるんだよ!と、ぶち切れ金剛 まぁなんとか進めたからいいや。理想の器、満つらざるとも屈せずの精神で行こう。
90 : >>86 コンマ入ってないから別処理として判定される。
91 : ごめん>>90 は>>89 宛て
92 : 開発状況報告スレでも書きましたが GIFを使ってゲーム画面がそれらしくなりました。 http://www.interq.or.jp/moonstone/person/sekiban/indexeasy.htm >>90 わざわざどうもです。うーん、解説されてもよくわからない・・・ Runnable, と KeyListenerで一つの処理ってことですか? それとも点をつけるとRunが全体的におよぶとか。 このあたりの解説書が無いのでちょっとわかりませんでした。
93 : 「implements 〜」で「〜というインターフェイスを実装する」と言う意味。 「implements Runnable, KeyListener」 だとコンマで区切ってあるから 「RunnableとKeyListnerを実装する」と言う意味になるけど 「implements Runnable KeyListener」 だと 「implements Runnable」「Runnableを実装する」という文の後に KeyListnerという裸のワードが来るから コンパイルエラーになる。 これで説明合ってると思う。
94 : カンマって、「,の直前の物と同系の物が後ろにありますよ」 ってコンパイラに教えてるんじゃないの? で、カンマが無いと言う事はその後ろにはそれ以上インプリメントは無いと。 int x y; は駄目で、 int x,y; はOKみたいに。
95 : 早い話、コンパイラがコードを読む際に そこに書かれている文字が何であるか、常に判断しておく必要があるんですよ。 予約語"implements"を発見したら、次に現れる文字はインターフェース名だろう と判断するわけです。 そしてさらに次の文字を読んだときに、","を発見したら、 コンパイラは「そういえばimplements文法ルールにカンマがあったら再度読み込むって書いてあったよなぁ」と 判断して、次に続く文字をインターフェース名と判断してimplementsで読み込むわけです。 コンパイラもプログラムですので、人間のようにアバウトに物事考えられないので、 まず文の始めには自分の知ってるキーワードがないとダメなんですよ。 今回の件であれば"implements Runnable"でimplements文が終わっちゃってるので、 次の処理に行っちゃって、次に現れた"KeyListener"なんて命令語知らねぇよ! ってエラーを出されることになる。 ……まぁ正確にはもうちょっと複雑な処理をしてますし、 本来はclass文法から説明しないとですが、 こんな感じでわかりますか? まぁコンパイラの構文解析ルールに文句つけても仕方ないので、そういうもんだと覚えましょうね。
96 : そ、そうだったのか。解説ありがとうございます。 今は public class sbt02 extends Applet implements Runnable, KeyListener って感じになってるんですけど、実はこのあたり漠然としかわかってなかったです。 class sbt02 から後は、全て追加機能名かと思ってました。 付け焼刃の一ヶ月じゃほんと知識があちこち抜けまくり。 よくこれで今までやってこれたもんだよ。
97 : IE6でなぜか表示できない理由。 どうやらコンパイル時に-target 1.1 とつけなきゃ動かないらしい。 未だにVer1.1が標準なのだそうな。なんか変って言えば変な話。 でも、これでIE6の人にも出来るようになってくれれば嬉しいなぁ。 ところでJRAアプレットじゃファイルの書き込みができないのに 今さらながら気がついたりする(w サーブレットじゃなきゃいけないとな? むむぅ、まだまだ道は厳しいな。また色々覚えないといかんし。 JRAで面エディタ作ろうかと思ってたけど、かなりの後回しになりそう。
98 : >>97 JavaでHTTPアクセスやったことないけど、CGIに出力してサーバー上にファイル作るとか? オフラインでもってことであればクッキーしかないよね。 マイクロソフトがJavaの対応をしていかないようなので、 最新のJavaで作っても普通に使ってる人のIEでは動かないのが致命的な感じよね。 実行環境もけっこうでかいし。 Sunのツールでhtml変換すると自動ダウンロードしてくれるようにできた気がするけど、 あのランタイムのでかさはナローバンドな人には辛いですな。 かと言って1.1だとゲームに使いたい機能のほとんどを制限されるからね。 確か1.1だとアフィン変換とかもできなかったような……。
99 : 今日はGIF画像を予約読み込みさせたので 「ロードしながらゲームスタート」という変な症状が無くなったハズ。 進可 は MediaTracker のじゅもんを おぼえた! エディタの件はサーブレット無しcgi無しでなんとかする方法を検討中。
100read 1read 1read 100read TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
ドット絵最高ォォォ!!! (140)
HSPでTCGを作るスレ (146)
面白いフラグ立てゲームの作り方 (105)
家庭用ゲーム機のエミュレータ <I> (103)
そろそろ看板つくりませんか? (119)
【サウンド】ゲーム制作者の為の音楽理論【初歩】 (186)
--log9.info------------------
介護生活の悩み Part9 (260)
インキンタムシpart12 (395)
狭心症・心筋梗塞 7 (763)
【♂金玉】睾丸増大法を語ろう 1玉目【玉トレ】 (316)
◇「自然気胸・肺のう胞」Part26 (579)
身長150センチ前半の男part6 (150)
■肝炎・脂肪肝・肝臓障害スレッド24■ (920)
■心臓とペースメーカー・ICD part4■ (472)
日本人は塩分の取り過ぎ (105)
コレステロール、中性脂肪、血圧の薬はやばそう (336)
スレ立てるまでもない質問スレPart.110 (165)
禁酒53 (490)
日食網膜症になったかもしれない人のスレ (120)
反原発の皆さん暴力行為はやめてください (115)
Rしたチンポが下向き下反りpart9 (740)
【オナ禁】オナ減・減オナ【アンチオナ禁】 (481)
--log55.com------------------
C21-MMOロボットアクションRPG-615
Haven & Hearth QL16
【洋ゲー限定】 洋ゲーマイナーMMOを語るスレ
C21-MMOロボットアクションRPG-611
ラグナロクオンライン Breidablik Part44
Trove Part5
【EOS】ECHO OF SOUL Part16
【EOS】ECHO OF SOUL Part15 [転載禁止](c)2ch.net