1 :
名前は開発中のものです。:
コンテンツアグリゲータに登録する必要があるとか、5Xシリーズ
しか対応してないなど、いろいろ制約があるJ-PHONEのJAVAアプリ
ですが、マターリ語り合いましょう。
マターリ。
あぼーん
あぼーん
いちいち終了とカキコする必要無し
だまって放置できねえのかガキども
みっともねえなあ、ゲーム系PGは
あぼーん
あぼーん
いちいち終了とカキコする必要無し
だまって放置できねえのかガキども
みっともねえなあ、ゲーム系PGは
あぼーん
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.
あぼーん
っていうか、重複スレだからって重複レスすんのやめてくれよ、
一応みんな中身チェックしに来るんだから。
>>11をエキサイトに投げてみた。
終了で故意に書き込むこと必要はありません。
子供はそれを暗黙に残すことができませんか。
したがって、ゲームのプログラマは不体裁です。
あぼーん
なんだ、よく見りゃ立てられたばっかりのスレか。
過去にBASICしか使ったことが無いけど
最近ゲーム作りを再開しようと思ってJAVA勉強し始めたばっかりだから
下げ進行でコソーリ常駐してみよう。
勉強も含めて完成は1年以内の予定。内容は倉庫番もどき。
作る人が作れば3日ぐらいで完成できるような内容。
制作進行は、気長〜〜〜〜〜〜〜に逝きます。
ちなみに今日はHTMLに「Hello!」と表示できました(w
ういっす、今日は黄色い円を描くことに成功。
丸を描くにはどんなメソッドが必要かを
あちこち調べまくるのがメンドかった。
メソッド集の解説書、持って無いんよ。
ネットで小一時間ほど調べても見当たらなかったし。
さ〜て、次はキー入力に挑戦だ。
2468キーの取得はサンプルソースでわかったけど
↑↓←→のキーはどうやって調べるんだろ?
BASICの時と同じで16進のキーコードがいるのかな?
とりあえずはまたWEBの海で検索〜。2chで聞くのは最後の武器にしよう。
メソッドなんかの解説、本家のとこから落としてきたけど
わかりにくいわサンプル無いわで初心者の役に立ちそうに無い。
現在やっとキー入力に対して上下左右を表示させるのに成功。
エラーの理由を知るのに時間がかかったよ。
public void keyPressed(KeyEvent e)だけが必要なのに
public void keyTyped(KeyEvent e){} という
何の処理もしない行をつけないと、コンパイルしてくれないんだ。
WEBで見つけたサンプルは古いやりかたのせいで推奨しないって警告が出るし。
先は長そうですな。次はキーでキャラを上下左右させてみようか。
ほぼ日曜プログラマ状態だから次は1週間後に。
糞スレage
public void keyTyped(KeyEvent e){}
イベントリスナをインプリメントしてるせいじゃなかったかな。
自分もJAVA始めたばっかり。ややこしいね。
それと、SunのサイトのAPIリファレンスもみといたほうがいいかも。
o
/  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
/ This thread was ended /
/ with no problems. /
/ Thank you. /
/ /
/ From a Morara /
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
∧_∧ / /∧_∧
( ・∀・) / /(・∀・ )
( )つ ⊂( )
| | | | | |
(__)_) (_(__)
23 :
Javaの勉強:02/10/17 14:42 ID:L7jV9l+c
Javaは米国サンマイクロシステムズ社が開発したプログラミング言語です。
文法的にはCやC++等に似たオブジェクト指向言語です。
Java言語によりプログラムされたものはアプレットとアプリケーションの二種類に分けられます。
アプレットはWWW上で配布されWWWブラウザの画面内で実行されます。
アプリケーションは普通のワープロや表計算ソフトと同様にコンピュータ上で独立して実行させる事が出来ます。
Javaプログラムの本体はクラスファイル(拡張子名が".class"のファイル)です。
これはアプレット・アプリケーションに関係なく共通です。
一つのアプレット・アプリケーションが一つのクラスファイルだけとは限らず、
複数のクラスファイルから構成されている場合も少なくありません。
Javaプログラムを作成する エディター→コンパイル→Javaプログラム
まず最初にワープロやエディタ等でソースコード(ソースファイル)を作成します。
このソースファイルをJavaコンパイラという専用ソフトを用いてクラスファイルへの
変換(コンパイル)操作をする
実際に実行出来る形式のJavaプログラムを作成します。
まとめ
JavaはCやC++等に似たオブジェクト指向言語で、アプレットとアプリケーションの二種類に分けられる
>>23 少しでもゲームに絡めて話してほしいな。
なんかつくってる?
どもっす。リファレンス見たけどよーわからんっす。
サンプルがあればなー。最近じゃ使用方法がわからないメソッドは
そいつを直接ググルにかけてサンプル探してます(藁
力技だねぇ。
とりあえず上下左右のキーで円を動かすまではできますた。
まだゲームとも言えない段階。次は面を読んで表示させるのに挑戦だ。
メソッド名をググル、良い方法だね。
自分はいまVectorとかListらへんをいじくってる。
アプレットだと制約とかあるんじゃない?
面読み&表示は完了。配列の基本的な扱いは覚えたから
これでやっと壁の当たり判定ができるぞ。
制約は今のところ感じてませぬ。っていうか
どこが自分の問題で、どこがアプレットの制約なのやら?って段階(藁
ところで最近わかったんだけど、JAVAアプレットって
何か1キャラ動かすたびに、いちいち画面全部を描き直してるんだねぇ。
昔はスプライトが使えるベーシックでしかゲームを作ってなかったから
ちょっと新鮮だったよ。
28 :
:02/10/20 17:32 ID:TNdVTK4a
みんな、javaアプリケーションでゲーム作っているの?
どんな環境?オレはEclipse・・・
でも、全然使いこなせないよ
∧∧ ミ _ ドスッ
( ,,)┌─┴┴─┐
/ つ. 終 了 │
〜′ /´ └─┬┬─┘
∪ ∪ ││ _ε3
゛゛'゛'゛
やっぱみんなEclipseなんだ。俺も5%くらいしか使いこなせてない。
そもそも、オブジェクト指向があやしい。
アイフルのお姉さんって、
どんなに愛を語っても、ひたすら融資を進めてくる人工無能ですか?
今日の最後に書き込み〜。Eclipseって始めて知ったよ。
最初の頃は本当にjavacとエディタオンリーでやってて
エラーが長くて前のが読めなくてどうしようもなかったから
DevBoosterなんてのを探して使ってた。見た目と機能は同じみたい。
もっと細かいことができるようになると違ってくるだろうけどね。
まぁ今はこれでいいや。
では、また来週。
>>27 > 何か1キャラ動かすたびに、いちいち画面全部を描き直してるんだねぇ。
バックバッファ(オフスクリーン)は使ってないだけでは?
>>29 アイフルのお姉さんワロタ
あんたが作ってたのか
Sorry
×バックバッファ(オフスクリーン)は
○バックバッファ(オフスクリーン)を
36 :
29:02/10/21 08:37 ID:???
>>34 残念ながらそうじゃなくてアイフルのお姉さんのパクリを作ってんの。
J2SEはv1.4から正規表現を標準でサポートしてるから
意外と簡単にそれらしいのが作れるよ。
>>34 DirectXで書いてるのと同じノリだとそうなるらしい。
それじゃアプレットでは使い物にならんっての
>>23 >アプレットとアプリケーションの二種類に分けられます。
サーブレットもあるべ。
39 :
名前は開発中のものです。:02/10/21 23:05 ID:xT5JqYy0
誰か、Javaを教えてよ。
classって何? { } の間に書かれた物を1つのclassって呼ぶの?
public class echo { } なら echoプログラムって呼んでいいの?
あと、オブジェクト指向プログラムなら欲しい処理の金型があって
そこに数値を入れたりするんでしょ?
main( )にリターン値を入れるなら main(String argv[])
リターン値って何に使うの?
クラスはメソッドの集まり?
クラスは、データと、それに関する関数をまとめたもの。
mainの戻り値は別のプログラムから呼ばれたときに使うんじゃないかな。
>>39 >public class echo { }
ならエコークラスと呼んだ方が良いんじゃない?
mainのリターン値?
mainにリターン値を入れるならもちろん
return (value);
を呼びだしてmainを抜ければ良いんですよ。
そうするとプログラムの呼び出し側に終了コード(value)が返るので、
それを使えばエラー終了か正常終了かを判断したりできるよね。
一応、
ちなみにそのアーギュメントは引数と呼ぶべきです。
argv[]はプログラムに渡される起動パラメータです。
Javaでこれ使ったっけ?(getParameterとかなかったかな?)
用はプログラムの起動時に文字列などを追加すると、それを実行コード側で取得できるのよ。
Windowsとかでアプリケーションにファイルをドラッグ&ドロップして起動したことない?
あれはアプリの起動時にドロップしたファイル名をパラメータとして与えているわけで、
実行コード側で「ファイル名が指定されていたら〜をする」という処理をしたいときに役立つわけです。
42 :
名前は開発中のものです。:02/10/22 06:32 ID:XnNJjP+2
>>39 >>41 慣例として
○main(String[] args)
×main(String argv[])
○return val;
×return (val);
○コマンドライン引数
×起動パラメータ
43 :
名前は開発中のものです。:02/10/22 06:33 ID:XnNJjP+2
>>41 >Javaでこれ使ったっけ?(getParameterとかなかったかな?)
Appletと混同してるのか?
44 :
名前は開発中のものです。:02/10/22 06:35 ID:XnNJjP+2
>>38 そんな分け方してったら
Swingアプリ iアプリ とか幾らでも捏造できるよ…
ageちった。欝死
あぼーん
明日休暇が取れたのでちょっと遊んでみたりして。
JAVAは遅いって言われるけど、どのくらいの速度か気になったので
1000個の塗りつぶし円をブロック崩し風に跳ねまわしてみる。
うひょー!Sleep無しだと速えぇ〜!何がなんだかってくらいだし。
思ってたより速いじゃないか。
てっきり昔のベーシックぐらいの遅さかと思ってたよ。ちと安心。
JAVAの遅さは相対的なものだよ。
誰かJava先生になってください。
作り方がわかりません
50 :
41:02/10/22 23:56 ID:???
チェック細かいなぁ……
コーディングスタイルなんて個人、または組織ごとに好きに書かせれば良いじゃんよぅ。
もちろん私はreturn (val);なんて書きませんけど、大抵の初心者向け技術書ってこういう風に書いてなかったっけ?
>main(String[] args)
JAVAしか使わないなら良いけど、C言語だとこれじゃダメだから、そういうクセは無ければ無い方がいいかと。
>Appletと混同してるのか?
そう言えばJavaアプリケーション作ったことなかったっす(笑)
>>47 近頃の一般に広まっているマシンのCPUは速いので、
ご大層なモノ作らないなら、全然速度的には問題ないと思います。
Java1.4の仕様見てないんでとりあえず聞きますけど、VRAMアクセスとかできるようになったんですか?
CPUだけだと限界あるよね……。
Imageを拡大描画とかするといきなり重くなったりしません?
あとアプレットビューワで動かしたときの速度と、
ブラウザで動かした場合だとブラウザの内部スレッドのタイマの関係なのか、
動作がかなり遅くなった記憶があるんですけど、あれって改善されてるのかな?
それともアプレット側からプライオリティを変更できる方法があったんでしょうか……。
>てっきり昔のベーシックぐらいの遅さかと
昔の体感速度だとBASICもそれなりだったような……MSXの時の記憶ですけどね(笑)
Javaは最適化する要素が少ないから楽っちゃ楽だけど、個人的に気分は悪いかな……。
>>49 技術書買いなさい。値段もケチらずにそこそこのを。
……というか、プログラムを組む以前の段階で分からないと言ってますか?
そうだねぇ。Javaはただでも、とりあえず本買っとかないと。
買ったらいやでも読まなきゃならないし。
自分は「BlackBook」と、「Javaによる、初めてのアルゴリズム入門」
というのを買いました。それぞれ3千円ほど。
>>50 >もちろん私はreturn (val);なんて書きませんけど、
>大抵の初心者向け技術書ってこういう風に書いてなかったっけ?
いや、C言語でも Java でも return(val);
みたいに括弧つけるのは ご法度とされているが。
(三項式の場合 -return (bool ? 0 : 1) みたいな奴- を除く)
53 :
41:02/10/23 07:38 ID:???
>>52 >ご法度とされているが。
え? そうなの?
goto乱用する奴は殴り飛ばしたくなるけど、カッコ乱用するくらい……いや、やっぱ殴りたくなるな。
しかしいつの間にご法度になったんだ……?
俺は聞いた事無いけどなぁ。というかそんなこと気にも留めた事なかったけど……。
54 :
名前は開発中のものです。:02/10/23 13:08 ID:p8oFuUyq
あぼーん
56 :
41:02/10/23 19:12 ID:???
>>54 ほんとだ……。
Javaはキャスト強要したりコンパイル時の警告とか、
「そんな細かいことで!」って言いたくなるようなエラー出したり、
融通のきかねぇ言語だなぁって思ってたけど、
まさかコーディングスタイルまで口出ししていたとは……。
改行とか{}の有る無しなんてどうでもいいじゃねぇかヨ……。
>今はこれが主流じゃないかな
今というか10年、もっと前からそうじゃなかったかなぁ……。
ム、いつ頃までreturnにカッコつけてたんだろ?
覚えてねぇ……。エディタで予約語に色が付くようになってからか?
57 :
:02/10/23 21:01 ID:GT/IG37K
ネイティブアプリケーション連携機能 (504だけ)
ネイティブアプリケーションからのiアプリの起動
(メールやブラウザ、赤外線ポートからiアプリを起動する)
iアプリからのネイティブアプリケーションの起動
(iアプリからブラウザや音声発信通話を起動する)
バックライトのオン・オフをちゃんと設定しないとNシリーズなどの折り畳み式で
閉じたとき高負荷がかかり動作が不安定になるので注意。
以上の事を踏まえてJavaを学習しましょう。
58 :
Javaの勉強:02/10/23 21:57 ID:GT/IG37K
用語の勉強
オブジェクト [物]部品 変数 等
パッケージ [クラスを種類別に分類して集めたもの] java.applet , java.awt , java.util 等
クラス [オブジェクトをモデル化したもの] Applet , Graphics 等
インスタンス [クラスを具体化したもの] new演算子で作成
メソッド [関数、閉じた手続き] init , start , paint 等
あぼーん
>>58 age てまで書いたネタのわりには 肝心の interface が抜けてるYo!
落第だな。しっかし、挙げてるパッケージが見事に偏ってますな。
学生さんかな?
61 :
41:02/10/23 22:42 ID:???
>>57 >バックライトのオン・オフをちゃんと設定しないとNシリーズなどの折り畳み式で
>閉じたとき高負荷がかかり動作が不安定になるので注意。
え? そうなんですか?
その情報サンクス! と思って、N504で試してみましたが、
特に不安定になったような感じはしないんですが……。
もし良かったらもうちょっと詳しく教えてもらえませんか?
個人的にiアプリでも作ろうかと思ってるんですが、
電話機固有のシステム関連はよく調べてないですよね。
でも700ポリゴンくらいでも10fpsくらい?出せてるようなのでちょっとやる気が出てきました。
ただN504だと低レベル3D扱えなくて腹立たしいですけど。
>>60 コレコレ、大人が子供をいじめるものではありません(笑
一応ゲーム製作の板なのでinterfaceなんかなくても……ダメか?
挙げてるのが偏ってるって、全部挙げさせるのは酷っしょ。
個人的には用語を覚えるよりコードを覚えろと言いたい気もしますが、
……まぁ何事も土台は大切よね。
ただ、言語は知ってるけどソフトは作れないって奴にはならないようにね。
……わぉ!
ここってJ-PHONEのJavaアプリのスレだったのね!
気付かなかった……。
つーことはiアプリネタはスレ違いだったのね。
今ごろ気付きました、すんません……
あぼーん
63 :
コピペ:02/10/24 14:19 ID:???
本来なら各状態ごとにclassを作るのがjavaっぽい書き方になる(少なくとも私はそう思う)んだが
classを作るごとにfilesizeが跳ねるのでDojaでは事実上ご法度になる。
なのでCanvasClass1個使うだけで中身はC言語のようにだらだら書くだけ。
classにすれば楽なのにと思ってても関数で我慢してます。
(ちなみに1回しか呼び出されない関数などは作りません、こうなるとC言語でもないな(笑))
どうしても漢字入力したい所だけはPanelClassに切り替えるけど、
入門書見てこんなもんかと納得すればオブジェクト志向なんて必要なし。
> ……わぉ!
> ここってJ-PHONEのJavaアプリのスレだったのね!
> 気付かなかった……。
> つーことはiアプリネタはスレ違いだったのね。
> 今ごろ気付きました、すんません……
ええーっ、俺なんてただのJAVAの話してたYO!
だってスレタイにJ-PHONEなんてどこにもないじゃん!
う〜ん…てことはこれ以上はスレ違いだから他でやったほうがいいかな?
Javaなら何でもいいでしょ。アプリだろうがアプレットだろうがサーブレットだろうが
//画面に文字を表示するコード
class Sample1
{
public static void main(String args[])
{
System.out.println("ここの文字を");
System.out.printlin("表示だよ");
}
}
66 :
Javaの勉強:02/10/24 22:06 ID:qd3nMgXf
//画面に出力するコード
class Sample1
{
public static void main(String args[])
{
System.out.println("画面に表示");
System.out.println("ここは下段に");
}
}
//画面に出力するコード
class Sample
{
public static void main(string args[])
{
System.out.println("上に表示");
System.out.println("下に表示");
}
}
68 :
Javaの勉強:02/10/24 22:16 ID:qd3nMgXf
//画面に出力するコード
class Sample1
{
public static void main(String args[])
{
System.out.print("この場合は")
System.out.print("どうなる?")
}
}
69 :
41:02/10/24 22:21 ID:???
>>63 コピペなの? ってことはレスしても無駄なのか?
でも一応レスすると、そんなの最適化の基本じゃないかヨ。
個人的にはiアプリは容量減らすの重要なんだから、
ライブラリクラスで使ってる内部変数全部publicにしろ!って思うのは私だけ?
容量ギリギリだっつのにカプセル化じゃねぇよ、ったく……。
あと、オブジェクト指向ってのは画期的な高速化アルゴリズムとかじゃないのよ。
必要、不必要の問題じゃないってば。
それに最適化ってのは一通り完成した後にするもんだろうよ……。
>>64 >>1の
>J-PHONEのJAVAアプリですが、マターリ語り合いましょう。
って書いてありますよね?
J-PHONEってjアプリとでも言うのかと思ってた。
どうなんだろね?
2chルール自体良く分かってないんだけど……スレとか掲示板ごとにあるんかな?
>>65 System.outは標準出力にだから場合によっては画面に出ないでしょ?(^^
……いらんツッコミごめん。
70 :
名前は開発中のものです。:02/10/24 22:42 ID:qd3nMgXf
そのコピペはプログラム板のiアプリに書いてあったよ。
71 :
Javaの勉強:02/10/24 23:10 ID:qd3nMgXf
//リテラルの勉強
class Sample3
{
public static void main(String args[])
{
System.out.println('A');
System.out.println("Javaへようこそ");
System.out.println(123);
}
}
文字・文字列・数字 リテラル=特定の値
//エスケープシーケンスの勉強
class Sample4
{
public static void main(String args[])
{
System.out.println("円記号を表示します。:\\")
System.out.println("アポストリフィーを表示します。:\'")
}
}
キーボードから入力出来ない特殊文字を表示出来る
漏れら極悪非道の終了ブラザーズ!
クソスレは終わらせてやるからな!
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ ∧_∧ END
(・∀・∩)(∩・∀・) ENDE
(つ 丿 ( ⊂) FIN
( ヽノ ヽ/ ) 了
し(_) (_)J 完
//キーボードからの文字列入力
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+"が入力されました。");
}
}
次の問に答えなさい。
あなたは何歳ですか?
23 リターン
あなたは23歳です。
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 +"です。")
}
}
円周率の値はいくつですか?
3.14 リターン
円周率の値は3.14です。
78 :
:02/10/26 13:10 ID:???
//円周率の値
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 +"");
}
}
考えてみればここ、立て逃げスレなんだよね。
だったら今の状況でもいいかも。
iアプリでゲームは他のスレであるし
キチガイがいるよスレにわざわざ移るのもなんだし。
今日はスペースキーで面データーを次々読み出すのに成功。
用意した二次元配列に後からデータを一括入力ってのが
わからんかったからプログラム板で聞いてしまった。
次は作った迷路でキャラを動かしてみるかなー
あれ
>>79 だったのか。
new int[][]{ {....},{....} };
>>78 おいおい、円周率をint値に代入するなよ。
円周率が約3になったのは記憶に新しい
//賠償しる二ダ!!
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]+ "億円二ダ!!");
}
}
}
なんだか今まで勘違いしていた模様。
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]; //コピー
}
}
}
これでコピーできると思ってたんだ
けど実際プログラム組んでみると
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を逆に考えてたよ・・・
今日は表示した面データーでキャラを上下左右に動かすことに成功。
壁の当たり判定もあるし、だんだんゲームらしくなってきましたぞ。
で、実はホームページも作ってあったりする。
ゲームの土台もできたし、そろそろURLさらしてみよう。
www.interq.or.jp/moonstone/person/
一応目標もあるから開発状況報告スレにも書いておこうっと。
今日も今日で戸惑いの日々。
public class b_anmmov extends Applet implements Runnable KeyListener {
コンパイルしたら、この行でダメ出しされるんだ。で、
public class b_anmmov extends Applet implements Runnable, KeyListener {
色々調べて理由は判らないけど、これなら無事コンパイルされるんだ。
あんだよそれ!なんでたったそれだけで出来なくなるんだよ!と、ぶち切れ金剛
まぁなんとか進めたからいいや。理想の器、満つらざるとも屈せずの精神で行こう。
>>86 コンマ入ってないから別処理として判定される。
「implements 〜」で「〜というインターフェイスを実装する」と言う意味。
「implements Runnable, KeyListener」 だとコンマで区切ってあるから
「RunnableとKeyListnerを実装する」と言う意味になるけど
「implements Runnable KeyListener」 だと
「implements Runnable」「Runnableを実装する」という文の後に
KeyListnerという裸のワードが来るから
コンパイルエラーになる。
これで説明合ってると思う。
カンマって、「,の直前の物と同系の物が後ろにありますよ」
ってコンパイラに教えてるんじゃないの?
で、カンマが無いと言う事はその後ろにはそれ以上インプリメントは無いと。
int x y; は駄目で、
int x,y; はOKみたいに。
早い話、コンパイラがコードを読む際に
そこに書かれている文字が何であるか、常に判断しておく必要があるんですよ。
予約語"implements"を発見したら、次に現れる文字はインターフェース名だろう
と判断するわけです。
そしてさらに次の文字を読んだときに、","を発見したら、
コンパイラは「そういえばimplements文法ルールにカンマがあったら再度読み込むって書いてあったよなぁ」と
判断して、次に続く文字をインターフェース名と判断してimplementsで読み込むわけです。
コンパイラもプログラムですので、人間のようにアバウトに物事考えられないので、
まず文の始めには自分の知ってるキーワードがないとダメなんですよ。
今回の件であれば"implements Runnable"でimplements文が終わっちゃってるので、
次の処理に行っちゃって、次に現れた"KeyListener"なんて命令語知らねぇよ! ってエラーを出されることになる。
……まぁ正確にはもうちょっと複雑な処理をしてますし、
本来はclass文法から説明しないとですが、
こんな感じでわかりますか?
まぁコンパイラの構文解析ルールに文句つけても仕方ないので、そういうもんだと覚えましょうね。
そ、そうだったのか。解説ありがとうございます。
今は
public class sbt02 extends Applet implements Runnable, KeyListener
って感じになってるんですけど、実はこのあたり漠然としかわかってなかったです。
class sbt02 から後は、全て追加機能名かと思ってました。
付け焼刃の一ヶ月じゃほんと知識があちこち抜けまくり。
よくこれで今までやってこれたもんだよ。
IE6でなぜか表示できない理由。
どうやらコンパイル時に-target 1.1 とつけなきゃ動かないらしい。
未だにVer1.1が標準なのだそうな。なんか変って言えば変な話。
でも、これでIE6の人にも出来るようになってくれれば嬉しいなぁ。
ところでJAVAアプレットじゃファイルの書き込みができないのに
今さらながら気がついたりする(w サーブレットじゃなきゃいけないとな?
むむぅ、まだまだ道は厳しいな。また色々覚えないといかんし。
JAVAで面エディタ作ろうかと思ってたけど、かなりの後回しになりそう。
>>97 JavaでHTTPアクセスやったことないけど、CGIに出力してサーバー上にファイル作るとか?
オフラインでもってことであればクッキーしかないよね。
マイクロソフトがJavaの対応をしていかないようなので、
最新のJavaで作っても普通に使ってる人のIEでは動かないのが致命的な感じよね。
実行環境もけっこうでかいし。
Sunのツールでhtml変換すると自動ダウンロードしてくれるようにできた気がするけど、
あのランタイムのでかさはナローバンドな人には辛いですな。
かと言って1.1だとゲームに使いたい機能のほとんどを制限されるからね。
確か1.1だとアフィン変換とかもできなかったような……。
今日はGIF画像を予約読み込みさせたので
「ロードしながらゲームスタート」という変な症状が無くなったハズ。
進可 は MediaTracker のじゅもんを おぼえた!
エディタの件はサーブレット無しcgi無しでなんとかする方法を検討中。
100 :
進可 ◆Sinka1my5k :02/11/28 14:19 ID:lTW8hYnL
ちょいと難儀な状態。
シフトキーオンしてから上下左右オンすると普通に処理してくれるのだが
シフトキーオンしてから2468オンすると、キーリリースイベントが
シフトキーは押したままなのにオフしたことにしてしまうのだ。
むーん、これはキーの性能上どうしようもなさそうな気がする。
あぼーん
ハードウェア側の問題?
あぼーん
∧_∧
/⌒ヽ )
i三 ∪
|三 |
(/~∪
三三
三三
三三 〜糸冬〜
105 :
進可 ◆Sinka1my5k :02/12/06 22:46 ID:d6tuqxrO
2468キーは諦めますた。やっぱりキーボードですので
割り当ての無い同時キー入力には対応していないようでつ。
前のキーが離れる前に次のキーを押した場合、前のキーが
離れたと判断しないと、高速タイプできないもんなー。しょうがないか。
現在、表示の高速化に挑戦してますです。
今さっき気がついたんだけど、もしかしてRUN()メソッドって
paint()の処理奪ってるのかな?
RUN()実行中に他でrepaint()しても表示が変わらないんだよね〜
うーん、どうしよう・・・・・・よし、再描写のフラグ立ててそれで処理するか。
あぼーん
107 :
進可 ◆Sinka1my5k :02/12/07 00:57 ID:Bps5tFwD
うひょう、高速化成功。ただ、あまりに速いせいか
時々表示がちらついてしまう時があります。
う〜ん同時アクセス禁止命令は使ったはずなんだけどなぁ。
あぼーん
パッドに対応してください
あぼーん
あぼーん
IE6+JDK1,4だけど、NullPointerExceptionで止まってしまう。
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:48)
で発生してるらしい。
同期を取るためにシンクロナイズとかいうのがあったような。
あぼーん
114 :
進可 ◆Sinka1my5k :02/12/08 22:45 ID:GXNpbopC
パッドはJAVA自体が対応してなさげ。
ただ、パッド入力を上下左右キーなどに変換できるソフトが
どこかにあったからそれを使えばなんとかなるでしょう。
シンクロナイズは検索してみたけど良くわからなかったヨ。
あぼーん
あぼーん
あぼーん
119 :
進可 ◆Sinka1my5k :02/12/09 15:44 ID:P/48gpNg
synchronized試してみました。ちらつきを抑えるのには成功したのですが
1.3でOKなのに1.4にしたらどうも挙動がおかしい。
内部で何か違うことをしてるのだろうか?
で、いろいろソースを弄くっていたら、ぐちゃぐちゃになってきて
何がナンだかわけわかめの状態に(w
う〜ん、一時リセット。スピードアップする前のソースから練り直してみます。
あぼーん多いな。
あぼーん
あぼーん
123 :
進可 ◆Sinka1my5k :02/12/10 17:15 ID:oraLld9E
リセットでやり直したら、シンクロナイズ使わないで良くなっちゃった(汗
書き込み方法をもっと厳密にした結果ですた。
しかし何度か1.3と1.4を交互に入れ直ししてるから
だんだんIEが挙動不審になってきたな。
むぅ、もう一台パソコンがいりそうだ。
あぼーん
125 :
進可 ◆Sinka1my5k :02/12/18 18:35 ID:VK1W0H2R
うーむ、キー入力からの移動処理中にまたキー入力があった場合
移動中にもかかわらず再度処理してしまうようだ。
ここがベーシックと違うところだな。
しょうがないのでキー入力からの移動処理が始まったらフラグを立てて
全てが終わるまで再度入力をしないようなプログラムにしますた。
シンクロナイズだとなぜかうまくいかなかったし。
他の人はどう処理してるんだろ?
なんかこのへん本当はもっとうまいやり方があるんだろうね。
これが一直線に作ってきた自分の弱いところだよなぁ。
エディタの方はどうもダメみたい。1.4だとテキストフィールドからの
カット&ペーストができるんだけど、1.3は無理のようだし。
ゲームとしてはもうこれで完成かな?
あとやるとしたらロード中にロード中画面を表示させるぐらいだろうね。
あぼーん
キー入力→入力に応じた処理をそこで行う
じゃなく、
キー入力→キーフラグにセット
ゲームループ内でキーフラグを見て処理
ってワケにはいかない?
128 :
進可 ◆Sinka1my5k :02/12/19 21:53 ID:9fBepT/K
はい、key = e.getKeyCode();
で取得してからgameplay()クラスを実行するという方法でやってはいるんです。
でも何故かそういう現象が起こるんだよなぁ。
多分実行するクラスがgameplay()に移った時点で
またpublic void keyPressed(KeyEvent e){
が有効になってしまうのではないかと思うんですけど。本当のところは不明。
今は感想で出てきた要望のCPU占有が
100%になるのを抑えるのにチャレンジしてまつ。
やはり何もキー入力がなくても書き換える仕様は
ダメなようだ。
うわ、また下げワスレテタよ。
とりあえずCPU負荷率の問題は解決。
空ループでrun()を回すと負荷がもりもりあがるのが判明。
1サイクルにつきsleep(20)ほど入れたら解決しますた。
あぼーん
>多分実行するクラスがgameplay()に移った時点で
>またpublic void keyPressed(KeyEvent e){
>が有効になってしまうのではないかと思うんですけど。本当のところは不明。
keyPressedとgameplayにsynchronized付けてブロック汁!
>>116のリンク先の説明見ると一発で解ると思う。
あと、無理に1.4使う必要も無いかもヨ。仕事で商用の携帯JAVAアプリ作ったけど
1.3で作ったし。1.4だと動かない(・凵E)アヘアヘ
石板庭やってみた。おもろい!(・∀・)ガンガレ!
あぼーん
∧、
冫⌒ヽ\ / ,,....,ヽ
|( ● )| i\c´,_、, ゞ' 何か言い残すことはあるか?
ゝ _ノ ^i |l、.,,_.ノソ
|_|,-''iつl/ ー\,;
[__|_|/〉"|Y/, (), シュボッ
[ニニ〉 |E| END
└―'
PNGの半透明、透明についてのメモ
エミュレーターでは半透明表示されるが実機ではされない
透明はエミュではOK、実機ではインデックスカラーにしないとNGな物がある
136 :
名前は開発中のものです。:03/06/15 00:52 ID:mNsHA9px
作者登録して、簡単なアプリUP、自分でダウン
スゲーって感じな毎日やってます。
ただ、javaは初めてというか、GUI使ったアプリが
初めてなんで、すげーつまずいてます(^^;
そんな訳で、まず今作ってる習作アプリで、
ユーザ名入力-->レコードストアってのを
したいんですが、入力のとこがさっぱり分かりません。
どっかに、サンプル落ちてませんか?
137 :
136:03/06/15 01:12 ID:mNsHA9px
↑の補足
大昔のDOS時代にゲームやてたので、
キー拾うのとか、ファイルIOとかは、
なんとかなったんだけど、GUIというか
おぶじぇく指向とか、もー辛いっす(泣
>>136 日付を見たらわかると思うけど、このスレはすでに死に体。
一応、ヒントをあげると、TextBoxまたはTextField を使いましょう。
139 :
136:03/06/15 12:18 ID:mNsHA9px
>>138 チェックしてなかった(w
TextField は、さっき撃沈したので
今度はTextBoxをやってみます
先は長い(^^;
今までHttpConnection を試そうとしてみて
SecurityExceptionが出てしまって、
夢が破れたとこ(w
>>139 HttpConnectionで例外が出る場合は、
JADファイルのMIDlet-Network属性をチェック。
142 :
136:03/06/15 13:23 ID:mNsHA9px
>>141 あ゛ーーー、チェックしてみたら、
テスト用のjadでなくて、別なアプリのjadに
MIDlet-Network書いてました(^^;
でも、動かしたら別なexceptionが出てしまったので
続きは後日にします。
わざわざサンキューでした。
143 :
136:03/06/15 13:24 ID:mNsHA9px
関係ないけど、ホットゾヌ立ち上げてると、
Emuがワトソン君を出して死にます(^^;
ノートPCも熱くなるし、、、、。
しばしクールダウンします。
144 :
Homa:03/10/02 16:30 ID:MRWcIN/e
145 :
名前は開発中のものです。:03/10/02 20:05 ID:iv0nEX4r
146 :
あい:03/10/02 21:07 ID:GSrY29kA
147 :
Homa:03/10/03 18:57 ID:oGqjoCiF
ん
149 :
名前は開発中のものです。:03/10/21 16:35 ID:/HUghbu9
Java3Dでゲームを作りたいんですが、ひな形を教えてもらえませんか?
メインループとキー入力、描画処理といったところの書き方が、
よく分かりません。お願いします。
>>149 アホか。雛型とかいうレベルじゃねぇじゃねぇか。
わからないならすなおに勉強しろ。
いや、それは雛形そのものだと思うが…。
test
保守age
hosyu
155 :
名前は開発中のものです。:04/09/27 00:02:15 ID:aLBna6ae
質問です。
Javaアプリでゲーム作ってますが、どうしても逆コンパイルかけられて
ソースを覗かれるのがいやなのです。
何か良い方法はありませんか?
>>155 携帯電話以外からでは落とせなくする、くらししか思いつかん
>>155 Javaの仕様です。
オブファスケータを掛けて難読化するぐらいしかできやんです。
こんにちは
アプリ作ってみたいけど、何から初めていいのか分からない
やっぱりゲーム作ってる人はすごいよ
それが神ゲーでもクソゲーでも
人は神にも悪魔にもなれる
お前もがんばれ
保守
>155
難読化ツール、あいまい化ツールというのがあります。
いくつか探してみたら?
私はRetroGuardというのを気に入っています。
・・・ていうかあんまり広めると人のソースが見られなくなるな・・・
>>162 2年前の記事にレスしても、本人はもう見てないと思う。
164 :
名前は開発中のものです。:2006/03/18(土) 16:12:59 ID:ko6FX2W/
スレが浮上するとこういうことあるよな(笑)
166 :
155:2006/03/23(木) 02:12:11 ID:qr5DCIs5
>>162 ありがd。2年ぶりにageたのも私ですww
でも難読化やあいまい化は根本的解決にならないので、
C++で作ったDLLでクラスファイルをロードするように作り直しました。
DLLはさすがに読まれないでしょ。(頑張っちゃう人は除外)
Web Startで作成してますが、DLLは「アクセス権限を無制限にしちゃうよ?」の
警告ダイアログが出るしWinとUnixでモジュールを分けて作らないといけないので面倒です。
難読化の逆でリバースコンパイルのみならず、さらに分かりやすい変数名や
ロジックに変換してくれるツールがあればなーと思ってます。
2年の歳月を経て完全なスレ違いであることが発覚とは・・・
169 :
名前は開発中のものです。:2007/01/14(日) 23:44:12 ID:Thdw6B9O
完全にFlashに食われたな。
JavaアプリなんだからFlashとは別だろ
アプレットならありえるかもしれんが、やれることの違いが大きすぎ
>>166 そこまでするなら普通にSDLとかつかえばいいんでない?
なぜJavaでつくってんの?
本末転倒にみえるんだが。
JAVAじゃBEEPで音程鳴らせないのか・・・
174 :
名前は開発中のものです。:2007/05/03(木) 08:55:06 ID:+ADx2sfO
>>173 いや、動的にBEEP音を作ってバッファに格納し、それをwavバイナリとして再生すればどんなBEEPでも鳴らせるw
ビープでしゃべらせてた98版卒業おもいだした。
176 :
名前は開発中のものです。:2008/02/13(水) 12:35:14 ID:I7aq4ZB6
おまいら気長すぎw
98でときメモのビープボイス集めてたの思い出した
178 :
正義の味方:2008/02/13(水) 23:23:39 ID:fOOe9uew
a
180 :
名前は開発中のものです。:2009/02/24(火) 07:25:39 ID:gN7N17Qr
てす
あ
SoftBankでも対応してるの?
184 :
名前は開発中のものです。:2013/07/28(日) NY:AN:NY.AN ID:2kDEdWvc
>大阪府三島郡島本町の小学校や中学校は、暴力イジメ学校や。
島本町の学校でいじめ・暴力・脅迫・恐喝などを受け続けて、心も身体も壊されて廃人同様になってしもうた僕が言うんやから、
まちがいないで。精神病院へ行っても、ちっとも良うならへん。教師も校長も、暴力やいじめがあっても見て見ぬフリ。
そればかりか、イジメに加担する教師もおった。 誰かがイジメを苦にして自殺しても、「本校にイジメは
なかった」と言うて逃げるんやろうなあ。
島本町の学校の関係者は、僕を捜し出して口封じをするな
>島本町って町は、暴力といじめの町なんだな
>「口封じ」なんかしません。どうぞ、気が済むまでお書き込み下さい。
島本町は日本の恥!島本町は日本の迷惑!
ここからJavaFXの話
↓
デーモンバスターズ始まるyo