02/10/17 14:42 L7jV9l+c
Javaは米国サンマイクロシステムズ社が開発したプログラミング言語です。
文法的にはCやC++等に似たオブジェクト指向言語です。
Java言語によりプログラムされたものはアプレットとアプリケーションの二種類に分けられます。
アプレットはWWW上で配布されWWWブラウザの画面内で実行されます。
アプリケーションは普通のワープロや表計算ソフトと同様にコンピュータ上で独立して実行させる事が出来ます。
Javaプログラムの本体はクラスファイル(拡張子名が".class"のファイル)です。
これはアプレット・アプリケーションに関係なく共通です。
一つのアプレット・アプリケーションが一つのクラスファイルだけとは限らず、
複数のクラスファイルから構成されている場合も少なくありません。
Javaプログラムを作成する エディター→コンパイル→Javaプログラム
まず最初にワープロやエディタ等でソースコード(ソースファイル)を作成します。
このソースファイルをJavaコンパイラという専用ソフトを用いてクラスファイルへの
変換(コンパイル)操作をする
実際に実行出来る形式のJavaプログラムを作成します。
まとめ
JavaはCやC++等に似たオブジェクト指向言語で、アプレットとアプリケーションの二種類に分けられる
24:名前は開発中のものです。
02/10/18 00:10
>>23
少しでもゲームに絡めて話してほしいな。
なんかつくってる?
25:進可 ◆Sinka1my5k
02/10/19 22:55
どもっす。リファレンス見たけどよーわからんっす。
サンプルがあればなー。最近じゃ使用方法がわからないメソッドは
そいつを直接ググルにかけてサンプル探してます(藁
力技だねぇ。
とりあえず上下左右のキーで円を動かすまではできますた。
まだゲームとも言えない段階。次は面を読んで表示させるのに挑戦だ。
26:名前は開発中のものです。
02/10/20 02:20
メソッド名をググル、良い方法だね。
自分はいまVectorとかListらへんをいじくってる。
アプレットだと制約とかあるんじゃない?
27:進可 ◆Sinka1my5k
02/10/20 10:28
面読み&表示は完了。配列の基本的な扱いは覚えたから
これでやっと壁の当たり判定ができるぞ。
制約は今のところ感じてませぬ。っていうか
どこが自分の問題で、どこがアプレットの制約なのやら?って段階(藁
ところで最近わかったんだけど、JAVAアプレットって
何か1キャラ動かすたびに、いちいち画面全部を描き直してるんだねぇ。
昔はスプライトが使えるベーシックでしかゲームを作ってなかったから
ちょっと新鮮だったよ。
28:
02/10/20 17:32 TNdVTK4a
みんな、javaアプリケーションでゲーム作っているの?
どんな環境?オレはEclipse・・・
でも、全然使いこなせないよ
29:名前は開発中のものです。
02/10/20 17:40
>>28
最近はRobocodeのロボットとアイフルのお姉さんを作ってる。
コードエディタのみでいえばVJ++6.0が最強かもしれんが
IDEならやっぱりeclipseだろ。ForteやJBuilderはちょっとな。
Eclipseの日本語ドキュメントはここらへんを嫁。
URLリンク(muimi.com)
URLリンク(www.dgic.co.jp)
30:名前は開発中のものです。
02/10/20 19:20
∧∧ ミ _ ドスッ
( ,,)┌─┴┴─┐
/ つ. 終 了 │
~′ /´ └─┬┬─┘
∪ ∪ ││ _ε3
゛゛'゛'゛
31:名前は開発中のものです。
02/10/20 23:18
やっぱみんなEclipseなんだ。俺も5%くらいしか使いこなせてない。
そもそも、オブジェクト指向があやしい。
アイフルのお姉さんって、
どんなに愛を語っても、ひたすら融資を進めてくる人工無能ですか?
32:進可 ◆Sinka1my5k
02/10/21 00:34
今日の最後に書き込み~。Eclipseって始めて知ったよ。
最初の頃は本当にjavacとエディタオンリーでやってて
エラーが長くて前のが読めなくてどうしようもなかったから
DevBoosterなんてのを探して使ってた。見た目と機能は同じみたい。
もっと細かいことができるようになると違ってくるだろうけどね。
まぁ今はこれでいいや。
では、また来週。
33:名前は開発中のものです。
02/10/21 04:11
アイフルのお姉さん関連スレ
スレリンク(tech板)l50
34:名前は開発中のものです。
02/10/21 06:07
>>27
> 何か1キャラ動かすたびに、いちいち画面全部を描き直してるんだねぇ。
バックバッファ(オフスクリーン)は使ってないだけでは?
>>29
アイフルのお姉さんワロタ
あんたが作ってたのか
35:名前は開発中のものです。
02/10/21 06:07
Sorry
×バックバッファ(オフスクリーン)は
○バックバッファ(オフスクリーン)を
36:29
02/10/21 08:37
>>34
残念ながらそうじゃなくてアイフルのお姉さんのパクリを作ってんの。
J2SEはv1.4から正規表現を標準でサポートしてるから
意外と簡単にそれらしいのが作れるよ。
37:名前は開発中のものです。
02/10/21 09:04
>>34
DirectXで書いてるのと同じノリだとそうなるらしい。
それじゃアプレットでは使い物にならんっての
38:今更突っ込むのもなんだが。
02/10/21 21:14
>>23
>アプレットとアプリケーションの二種類に分けられます。
サーブレットもあるべ。
39:名前は開発中のものです。
02/10/21 23:05 xT5JqYy0
誰か、Javaを教えてよ。
classって何? { } の間に書かれた物を1つのclassって呼ぶの?
public class echo { } なら echoプログラムって呼んでいいの?
あと、オブジェクト指向プログラムなら欲しい処理の金型があって
そこに数値を入れたりするんでしょ?
main( )にリターン値を入れるなら main(String argv[])
リターン値って何に使うの?
クラスはメソッドの集まり?
40:名前は開発中のものです。
02/10/21 23:44
クラスは、データと、それに関する関数をまとめたもの。
mainの戻り値は別のプログラムから呼ばれたときに使うんじゃないかな。
41:名前は開発中のものです。
02/10/22 00:44
>>39
>public class echo { }
ならエコークラスと呼んだ方が良いんじゃない?
mainのリターン値?
mainにリターン値を入れるならもちろん
return (value);
を呼びだしてmainを抜ければ良いんですよ。
そうするとプログラムの呼び出し側に終了コード(value)が返るので、
それを使えばエラー終了か正常終了かを判断したりできるよね。
一応、
ちなみにそのアーギュメントは引数と呼ぶべきです。
argv[]はプログラムに渡される起動パラメータです。
Javaでこれ使ったっけ?(getParameterとかなかったかな?)
用はプログラムの起動時に文字列などを追加すると、それを実行コード側で取得できるのよ。
Windowsとかでアプリケーションにファイルをドラッグ&ドロップして起動したことない?
あれはアプリの起動時にドロップしたファイル名をパラメータとして与えているわけで、
実行コード側で「ファイル名が指定されていたら~をする」という処理をしたいときに役立つわけです。
42:名前は開発中のものです。
02/10/22 06:32 XnNJjP+2
>>39 >>41
慣例として
○main(String[] args)
×main(String argv[])
○return val;
×return (val);
○コマンドライン引数
×起動パラメータ
43:名前は開発中のものです。
02/10/22 06:33 XnNJjP+2
>>41
>Javaでこれ使ったっけ?(getParameterとかなかったかな?)
Appletと混同してるのか?
44:名前は開発中のものです。
02/10/22 06:35 XnNJjP+2
>>38
そんな分け方してったら
Swingアプリ iアプリ とか幾らでも捏造できるよ…
45:名前は開発中のものです。
02/10/22 06:36
ageちった。欝死
46:あぼーん
あぼーん
あぼーん
47:進可 ◆Sinka1my5k
02/10/22 19:50
明日休暇が取れたのでちょっと遊んでみたりして。
JAVAは遅いって言われるけど、どのくらいの速度か気になったので
1000個の塗りつぶし円をブロック崩し風に跳ねまわしてみる。
うひょー!Sleep無しだと速えぇ~!何がなんだかってくらいだし。
思ってたより速いじゃないか。
てっきり昔のベーシックぐらいの遅さかと思ってたよ。ちと安心。
48:名前は開発中のものです。
02/10/22 19:53
JAVAの遅さは相対的なものだよ。
49:名前は開発中のものです。
02/10/22 20:50
誰かJava先生になってください。
作り方がわかりません
50:41
02/10/22 23:56
チェック細かいなぁ……
コーディングスタイルなんて個人、または組織ごとに好きに書かせれば良いじゃんよぅ。
もちろん私はreturn (val);なんて書きませんけど、大抵の初心者向け技術書ってこういう風に書いてなかったっけ?
>main(String[] args)
JAVAしか使わないなら良いけど、C言語だとこれじゃダメだから、そういうクセは無ければ無い方がいいかと。
>Appletと混同してるのか?
そう言えばJavaアプリケーション作ったことなかったっす(笑)
>>47
近頃の一般に広まっているマシンのCPUは速いので、
ご大層なモノ作らないなら、全然速度的には問題ないと思います。
Java1.4の仕様見てないんでとりあえず聞きますけど、VRAMアクセスとかできるようになったんですか?
CPUだけだと限界あるよね……。
Imageを拡大描画とかするといきなり重くなったりしません?
あとアプレットビューワで動かしたときの速度と、
ブラウザで動かした場合だとブラウザの内部スレッドのタイマの関係なのか、
動作がかなり遅くなった記憶があるんですけど、あれって改善されてるのかな?
それともアプレット側からプライオリティを変更できる方法があったんでしょうか……。
>てっきり昔のベーシックぐらいの遅さかと
昔の体感速度だとBASICもそれなりだったような……MSXの時の記憶ですけどね(笑)
Javaは最適化する要素が少ないから楽っちゃ楽だけど、個人的に気分は悪いかな……。
>>49
技術書買いなさい。値段もケチらずにそこそこのを。
……というか、プログラムを組む以前の段階で分からないと言ってますか?
51:名前は開発中のものです。
02/10/23 00:39
そうだねぇ。Javaはただでも、とりあえず本買っとかないと。
買ったらいやでも読まなきゃならないし。
自分は「BlackBook」と、「Javaによる、初めてのアルゴリズム入門」
というのを買いました。それぞれ3千円ほど。
52:名前は開発中のものです。
02/10/23 01:25
>>50
>もちろん私はreturn (val);なんて書きませんけど、
>大抵の初心者向け技術書ってこういう風に書いてなかったっけ?
いや、C言語でも Java でも return(val);
みたいに括弧つけるのは ご法度とされているが。
(三項式の場合 -return (bool ? 0 : 1) みたいな奴- を除く)
53:41
02/10/23 07:38
>>52
>ご法度とされているが。
え? そうなの?
goto乱用する奴は殴り飛ばしたくなるけど、カッコ乱用するくらい……いや、やっぱ殴りたくなるな。
しかしいつの間にご法度になったんだ……?
俺は聞いた事無いけどなぁ。というかそんなこと気にも留めた事なかったけど……。
54:名前は開発中のものです。
02/10/23 13:08 p8oFuUyq
SunのJavaコーディング規約から。
URLリンク(java.sun.com)
「値を持つreturn文は、何らかの形で返り値をより明白にするものでない限り
カッコを使ってはならない」だそうな。
今はこれが主流じゃないかな。似たような規約はいろいろあると思うにょ。
C言語だったら、retrun(0)とかtypoするとリンクするまで気づかないこともあるし。
55:あぼーん
あぼーん
あぼーん
56:41
02/10/23 19:12
>>54
ほんとだ……。
Javaはキャスト強要したりコンパイル時の警告とか、
「そんな細かいことで!」って言いたくなるようなエラー出したり、
融通のきかねぇ言語だなぁって思ってたけど、
まさかコーディングスタイルまで口出ししていたとは……。
改行とか{}の有る無しなんてどうでもいいじゃねぇかヨ……。
>今はこれが主流じゃないかな
今というか10年、もっと前からそうじゃなかったかなぁ……。
ム、いつ頃までreturnにカッコつけてたんだろ?
覚えてねぇ……。エディタで予約語に色が付くようになってからか?
57:
02/10/23 21:01 GT/IG37K
ネイティブアプリケーション連携機能 (504だけ)
ネイティブアプリケーションからのiアプリの起動
(メールやブラウザ、赤外線ポートからiアプリを起動する)
iアプリからのネイティブアプリケーションの起動
(iアプリからブラウザや音声発信通話を起動する)
バックライトのオン・オフをちゃんと設定しないとNシリーズなどの折り畳み式で
閉じたとき高負荷がかかり動作が不安定になるので注意。
以上の事を踏まえてJavaを学習しましょう。
58:Javaの勉強
02/10/23 21:57 GT/IG37K
用語の勉強
オブジェクト [物]部品 変数 等
パッケージ [クラスを種類別に分類して集めたもの] java.applet , java.awt , java.util 等
クラス [オブジェクトをモデル化したもの] Applet , Graphics 等
インスタンス [クラスを具体化したもの] new演算子で作成
メソッド [関数、閉じた手続き] init , start , paint 等
59:あぼーん
あぼーん
あぼーん
60:名前は開発中のものです。
02/10/23 22:04
>>58
age てまで書いたネタのわりには 肝心の interface が抜けてるYo!
落第だな。しっかし、挙げてるパッケージが見事に偏ってますな。
学生さんかな?
61:41
02/10/23 22:42
>>57
>バックライトのオン・オフをちゃんと設定しないとNシリーズなどの折り畳み式で
>閉じたとき高負荷がかかり動作が不安定になるので注意。
え? そうなんですか?
その情報サンクス! と思って、N504で試してみましたが、
特に不安定になったような感じはしないんですが……。
もし良かったらもうちょっと詳しく教えてもらえませんか?
個人的にiアプリでも作ろうかと思ってるんですが、
電話機固有のシステム関連はよく調べてないですよね。
でも700ポリゴンくらいでも10fpsくらい?出せてるようなのでちょっとやる気が出てきました。
ただN504だと低レベル3D扱えなくて腹立たしいですけど。
>>60
コレコレ、大人が子供をいじめるものではありません(笑
一応ゲーム製作の板なのでinterfaceなんかなくても……ダメか?
挙げてるのが偏ってるって、全部挙げさせるのは酷っしょ。
個人的には用語を覚えるよりコードを覚えろと言いたい気もしますが、
……まぁ何事も土台は大切よね。
ただ、言語は知ってるけどソフトは作れないって奴にはならないようにね。
……わぉ!
ここってJ-PHONEのJavaアプリのスレだったのね!
気付かなかった……。
つーことはiアプリネタはスレ違いだったのね。
今ごろ気付きました、すんません……
62:あぼーん
あぼーん
あぼーん
63:コピペ
02/10/24 14:19
本来なら各状態ごとにclassを作るのがjavaっぽい書き方になる(少なくとも私はそう思う)んだが
classを作るごとにfilesizeが跳ねるのでDojaでは事実上ご法度になる。
なのでCanvasClass1個使うだけで中身はC言語のようにだらだら書くだけ。
classにすれば楽なのにと思ってても関数で我慢してます。
(ちなみに1回しか呼び出されない関数などは作りません、こうなるとC言語でもないな(笑))
どうしても漢字入力したい所だけはPanelClassに切り替えるけど、
入門書見てこんなもんかと納得すればオブジェクト志向なんて必要なし。
64:進可 ◆Sinka1my5k
02/10/24 21:12
> ……わぉ!
> ここってJ-PHONEのJavaアプリのスレだったのね!
> 気付かなかった……。
> つーことはiアプリネタはスレ違いだったのね。
> 今ごろ気付きました、すんません……
ええーっ、俺なんてただのJAVAの話してたYO!
だってスレタイにJ-PHONEなんてどこにもないじゃん!
う~ん…てことはこれ以上はスレ違いだから他でやったほうがいいかな?
65:Javaの勉強
02/10/24 21:55
Javaなら何でもいいでしょ。アプリだろうがアプレットだろうがサーブレットだろうが
//画面に文字を表示するコード
class Sample1
{
public static void main(String args[])
{
System.out.println("ここの文字を");
System.out.printlin("表示だよ");
}
}
66:Javaの勉強
02/10/24 22:06 qd3nMgXf
//画面に出力するコード
class Sample1
{
public static void main(String args[])
{
System.out.println("画面に表示");
System.out.println("ここは下段に");
}
}
67:Javaの勉強
02/10/24 22:10
//画面に出力するコード
class Sample
{
public static void main(string args[])
{
System.out.println("上に表示");
System.out.println("下に表示");
}
}
68:Javaの勉強
02/10/24 22:16 qd3nMgXf
//画面に出力するコード
class Sample1
{
public static void main(String args[])
{
System.out.print("この場合は")
System.out.print("どうなる?")
}
}
69:41
02/10/24 22:21
>>63
コピペなの? ってことはレスしても無駄なのか?
でも一応レスすると、そんなの最適化の基本じゃないかヨ。
個人的にはiアプリは容量減らすの重要なんだから、
ライブラリクラスで使ってる内部変数全部publicにしろ!って思うのは私だけ?
容量ギリギリだっつのにカプセル化じゃねぇよ、ったく……。
あと、オブジェクト指向ってのは画期的な高速化アルゴリズムとかじゃないのよ。
必要、不必要の問題じゃないってば。
それに最適化ってのは一通り完成した後にするもんだろうよ……。
>>64
>>1の
>J-PHONEのJAVAアプリですが、マターリ語り合いましょう。
って書いてありますよね?
J-PHONEってjアプリとでも言うのかと思ってた。
どうなんだろね?
2chルール自体良く分かってないんだけど……スレとか掲示板ごとにあるんかな?
>>65
System.outは標準出力にだから場合によっては画面に出ないでしょ?(^^
……いらんツッコミごめん。
70:名前は開発中のものです。
02/10/24 22:42 qd3nMgXf
そのコピペはプログラム板のiアプリに書いてあったよ。
71:Javaの勉強
02/10/24 23:10 qd3nMgXf
//リテラルの勉強
class Sample3
{
public static void main(String args[])
{
System.out.println('A');
System.out.println("Javaへようこそ");
System.out.println(123);
}
}
文字・文字列・数字 リテラル=特定の値
72:Javaの勉強
02/10/24 23:26
//エスケープシーケンスの勉強
class Sample4
{
public static void main(String args[])
{
System.out.println("円記号を表示します。:\\")
System.out.println("アポストリフィーを表示します。:\'")
}
}
キーボードから入力出来ない特殊文字を表示出来る
73:名前は開発中のものです。
02/10/25 01:21
漏れら極悪非道の終了ブラザーズ!
クソスレは終わらせてやるからな!
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ ∧_∧ END
(・∀・∩)(∩・∀・) ENDE
(つ 丿 ( ⊂) FIN
( ヽノ ヽ/ ) 了
し(_) (_)J 完
74:Javaの勉強
02/10/25 15:48
//キーボードからの文字列入力
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:Javaの勉強
02/10/25 21:40
次の問に答えなさい。
あなたは何歳ですか?
23 リターン
あなたは23歳です。
76:Javaの勉強
02/10/25 22: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 +"です。")
}
}
77:名前は開発中のものです。
02/10/25 22:25
円周率の値はいくつですか?
3.14 リターン
円周率の値は3.14です。
78:
02/10/26 13:10
//円周率の値
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:進可 ◆Sinka1my5k
02/10/27 11:58
考えてみればここ、立て逃げスレなんだよね。
だったら今の状況でもいいかも。
iアプリでゲームは他のスレであるし
キチガイがいるよスレにわざわざ移るのもなんだし。
今日はスペースキーで面データーを次々読み出すのに成功。
用意した二次元配列に後からデータを一括入力ってのが
わからんかったからプログラム板で聞いてしまった。
次は作った迷路でキャラを動かしてみるかなー
80:名前は開発中のものです。
02/10/27 16:14
あれ >>79 だったのか。
new int[][]{ {....},{....} };
81:名前は開発中のものです。
02/10/28 12:53
>>78
おいおい、円周率をint値に代入するなよ。
82:名前は開発中のものです。
02/10/28 14:00
円周率が約3になったのは記憶に新しい
83:名前は開発中のものです。
02/10/29 11:35
つまり>>78のコードは壮大な皮肉か。
84:名前は開発中のものです。
02/10/29 13:40
//賠償しる二ダ!!
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:進可 ◆Sinka1my5k
02/10/31 17:55
なんだか今まで勘違いしていた模様。
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:進可 ◆Sinka1my5k
02/10/31 17:56
けど実際プログラム組んでみると
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:名前は開発中のものです。
02/11/02 01:39
>>84
賠償額の総計も計算しる!
>>86
ついxを先にしてしまうんだよね。
88:進可 ◆Sinka1my5k
02/11/03 15:19
今日は表示した面データーでキャラを上下左右に動かすことに成功。
壁の当たり判定もあるし、だんだんゲームらしくなってきましたぞ。
で、実はホームページも作ってあったりする。
ゲームの土台もできたし、そろそろURLさらしてみよう。
www.interq.or.jp/moonstone/person/
一応目標もあるから開発状況報告スレにも書いておこうっと。
89:進可 ◆Sinka1my5k
02/11/10 20:38
今日も今日で戸惑いの日々。
public class b_anmmov extends Applet implements Runnable KeyListener {
コンパイルしたら、この行でダメ出しされるんだ。で、
public class b_anmmov extends Applet implements Runnable, KeyListener {
色々調べて理由は判らないけど、これなら無事コンパイルされるんだ。
あんだよそれ!なんでたったそれだけで出来なくなるんだよ!と、ぶち切れ金剛
まぁなんとか進めたからいいや。理想の器、満つらざるとも屈せずの精神で行こう。
90:名前は開発中のものです。
02/11/12 18:41
>>86
コンマ入ってないから別処理として判定される。
91:名前は開発中のものです。
02/11/12 18:42
ごめん>>90は>>89宛て
92:進可 ◆Sinka1my5k
02/11/16 20:44
開発状況報告スレでも書きましたが
GIFを使ってゲーム画面がそれらしくなりました。
URLリンク(www.interq.or.jp)
>>90
わざわざどうもです。うーん、解説されてもよくわからない・・・
Runnable, と KeyListenerで一つの処理ってことですか?
それとも点をつけるとRunが全体的におよぶとか。
このあたりの解説書が無いのでちょっとわかりませんでした。
93:名前は開発中のものです。
02/11/16 22:12
「implements ~」で「~というインターフェイスを実装する」と言う意味。
「implements Runnable, KeyListener」 だとコンマで区切ってあるから
「RunnableとKeyListnerを実装する」と言う意味になるけど
「implements Runnable KeyListener」 だと
「implements Runnable」「Runnableを実装する」という文の後に
KeyListnerという裸のワードが来るから
コンパイルエラーになる。
これで説明合ってると思う。
94:名前は開発中のものです。
02/11/17 00:36
カンマって、「,の直前の物と同系の物が後ろにありますよ」
ってコンパイラに教えてるんじゃないの?
で、カンマが無いと言う事はその後ろにはそれ以上インプリメントは無いと。
int x y; は駄目で、
int x,y; はOKみたいに。
95:名前は開発中のものです。
02/11/17 07:29
早い話、コンパイラがコードを読む際に
そこに書かれている文字が何であるか、常に判断しておく必要があるんですよ。
予約語"implements"を発見したら、次に現れる文字はインターフェース名だろう
と判断するわけです。
そしてさらに次の文字を読んだときに、","を発見したら、
コンパイラは「そういえばimplements文法ルールにカンマがあったら再度読み込むって書いてあったよなぁ」と
判断して、次に続く文字をインターフェース名と判断してimplementsで読み込むわけです。
コンパイラもプログラムですので、人間のようにアバウトに物事考えられないので、
まず文の始めには自分の知ってるキーワードがないとダメなんですよ。
今回の件であれば"implements Runnable"でimplements文が終わっちゃってるので、
次の処理に行っちゃって、次に現れた"KeyListener"なんて命令語知らねぇよ! ってエラーを出されることになる。
……まぁ正確にはもうちょっと複雑な処理をしてますし、
本来はclass文法から説明しないとですが、
こんな感じでわかりますか?
まぁコンパイラの構文解析ルールに文句つけても仕方ないので、そういうもんだと覚えましょうね。
96:進可 ◆Sinka1my5k
02/11/17 21:58
そ、そうだったのか。解説ありがとうございます。
今は
public class sbt02 extends Applet implements Runnable, KeyListener
って感じになってるんですけど、実はこのあたり漠然としかわかってなかったです。
class sbt02 から後は、全て追加機能名かと思ってました。
付け焼刃の一ヶ月じゃほんと知識があちこち抜けまくり。
よくこれで今までやってこれたもんだよ。
97:進可 ◆Sinka1my5k
02/11/19 21:52
IE6でなぜか表示できない理由。
どうやらコンパイル時に-target 1.1 とつけなきゃ動かないらしい。
未だにVer1.1が標準なのだそうな。なんか変って言えば変な話。
でも、これでIE6の人にも出来るようになってくれれば嬉しいなぁ。
ところでJAVAアプレットじゃファイルの書き込みができないのに
今さらながら気がついたりする(w サーブレットじゃなきゃいけないとな?
むむぅ、まだまだ道は厳しいな。また色々覚えないといかんし。
JAVAで面エディタ作ろうかと思ってたけど、かなりの後回しになりそう。
98:名前は開発中のものです。
02/11/20 06:42
>>97
JavaでHTTPアクセスやったことないけど、CGIに出力してサーバー上にファイル作るとか?
オフラインでもってことであればクッキーしかないよね。
マイクロソフトがJavaの対応をしていかないようなので、
最新のJavaで作っても普通に使ってる人のIEでは動かないのが致命的な感じよね。
実行環境もけっこうでかいし。
Sunのツールでhtml変換すると自動ダウンロードしてくれるようにできた気がするけど、
あのランタイムのでかさはナローバンドな人には辛いですな。
かと言って1.1だとゲームに使いたい機能のほとんどを制限されるからね。
確か1.1だとアフィン変換とかもできなかったような……。
99:進可 ◆Sinka1my5k
02/11/21 18:48 BxOozEwj
今日はGIF画像を予約読み込みさせたので
「ロードしながらゲームスタート」という変な症状が無くなったハズ。
進可 は MediaTracker のじゅもんを おぼえた!
エディタの件はサーブレット無しcgi無しでなんとかする方法を検討中。
100:進可 ◆Sinka1my5k
02/11/28 14:19 lTW8hYnL
ちょいと難儀な状態。
シフトキーオンしてから上下左右オンすると普通に処理してくれるのだが
シフトキーオンしてから2468オンすると、キーリリースイベントが
シフトキーは押したままなのにオフしたことにしてしまうのだ。
むーん、これはキーの性能上どうしようもなさそうな気がする。
101:あぼーん
あぼーん
あぼーん
102:名前は開発中のものです。
02/11/28 14:49 20okCWv6
ハードウェア側の問題?
103:あぼーん
あぼーん
あぼーん
104:名前は開発中のものです。
02/12/04 05:59 nQpeLOgO
∧_∧
/⌒ヽ )
i三 ∪
|三 |
(/~∪
三三
三三
三三 ~糸冬~
105:進可 ◆Sinka1my5k
02/12/06 22:46 d6tuqxrO
2468キーは諦めますた。やっぱりキーボードですので
割り当ての無い同時キー入力には対応していないようでつ。
前のキーが離れる前に次のキーを押した場合、前のキーが
離れたと判断しないと、高速タイプできないもんなー。しょうがないか。
現在、表示の高速化に挑戦してますです。
今さっき気がついたんだけど、もしかしてRUN()メソッドって
paint()の処理奪ってるのかな?
RUN()実行中に他でrepaint()しても表示が変わらないんだよね~
うーん、どうしよう・・・・・・よし、再描写のフラグ立ててそれで処理するか。
106:あぼーん
あぼーん
あぼーん
107:進可 ◆Sinka1my5k
02/12/07 00:57 Bps5tFwD
うひょう、高速化成功。ただ、あまりに速いせいか
時々表示がちらついてしまう時があります。
う~ん同時アクセス禁止命令は使ったはずなんだけどなぁ。
108:あぼーん
あぼーん
あぼーん
109:名前は開発中のものです。
02/12/07 09:01 BdMzOWkW
パッドに対応してください
110:あぼーん
あぼーん
あぼーん
111:あぼーん
あぼーん
あぼーん
112:名前は開発中のものです。
02/12/08 03:34 MCwPmEmD
IE6+JDK1,4だけど、NullPointerExceptionで止まってしまう。
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:48)
で発生してるらしい。
同期を取るためにシンクロナイズとかいうのがあったような。
113:あぼーん
あぼーん
あぼーん
114:進可 ◆Sinka1my5k
02/12/08 22:45 GXNpbopC
パッドはJAVA自体が対応してなさげ。
ただ、パッド入力を上下左右キーなどに変換できるソフトが
どこかにあったからそれを使えばなんとかなるでしょう。
シンクロナイズは検索してみたけど良くわからなかったヨ。
115:あぼーん
あぼーん
あぼーん
116:名前は開発中のものです。
02/12/09 01:45 NACN61Xk
synchronized(同期)で検索すると、
URLリンク(www2.ttcn.ne.jp)
こうゆうのが出てきた。
スレッドを慎重に使うには必要そう。
117:あぼーん
あぼーん
あぼーん
118:あぼーん
あぼーん
あぼーん
119:進可 ◆Sinka1my5k
02/12/09 15:44 P/48gpNg
synchronized試してみました。ちらつきを抑えるのには成功したのですが
1.3でOKなのに1.4にしたらどうも挙動がおかしい。
内部で何か違うことをしてるのだろうか?
で、いろいろソースを弄くっていたら、ぐちゃぐちゃになってきて
何がナンだかわけわかめの状態に(w
う~ん、一時リセット。スピードアップする前のソースから練り直してみます。
120:名前は開発中のものです。
02/12/09 17:46 ZMxWeEIp
あぼーん多いな。
121:あぼーん
あぼーん
あぼーん
122:あぼーん
あぼーん
あぼーん
123:進可 ◆Sinka1my5k
02/12/10 17:15 oraLld9E
リセットでやり直したら、シンクロナイズ使わないで良くなっちゃった(汗
書き込み方法をもっと厳密にした結果ですた。
しかし何度か1.3と1.4を交互に入れ直ししてるから
だんだんIEが挙動不審になってきたな。
むぅ、もう一台パソコンがいりそうだ。
124:あぼーん
あぼーん
あぼーん
125:進可 ◆Sinka1my5k
02/12/18 18:35 VK1W0H2R
うーむ、キー入力からの移動処理中にまたキー入力があった場合
移動中にもかかわらず再度処理してしまうようだ。
ここがベーシックと違うところだな。
しょうがないのでキー入力からの移動処理が始まったらフラグを立てて
全てが終わるまで再度入力をしないようなプログラムにしますた。
シンクロナイズだとなぜかうまくいかなかったし。
他の人はどう処理してるんだろ?
なんかこのへん本当はもっとうまいやり方があるんだろうね。
これが一直線に作ってきた自分の弱いところだよなぁ。
エディタの方はどうもダメみたい。1.4だとテキストフィールドからの
カット&ペーストができるんだけど、1.3は無理のようだし。
ゲームとしてはもうこれで完成かな?
あとやるとしたらロード中にロード中画面を表示させるぐらいだろうね。
126:あぼーん
あぼーん
あぼーん
127:名前は開発中のものです。
02/12/19 16:53 K3s0AkZE
キー入力→入力に応じた処理をそこで行う
じゃなく、
キー入力→キーフラグにセット
ゲームループ内でキーフラグを見て処理
ってワケにはいかない?
128:進可 ◆Sinka1my5k
02/12/19 21:53 9fBepT/K
はい、key = e.getKeyCode();
で取得してからgameplay()クラスを実行するという方法でやってはいるんです。
でも何故かそういう現象が起こるんだよなぁ。
多分実行するクラスがgameplay()に移った時点で
またpublic void keyPressed(KeyEvent e){
が有効になってしまうのではないかと思うんですけど。本当のところは不明。
今は感想で出てきた要望のCPU占有が
100%になるのを抑えるのにチャレンジしてまつ。
やはり何もキー入力がなくても書き換える仕様は
ダメなようだ。
129:進可 ◆Sinka1my5k
02/12/19 23:24 9fBepT/K
うわ、また下げワスレテタよ。
とりあえずCPU負荷率の問題は解決。
空ループでrun()を回すと負荷がもりもりあがるのが判明。
1サイクルにつきsleep(20)ほど入れたら解決しますた。
130:あぼーん
あぼーん
あぼーん
131:名前は開発中のものです。
02/12/20 11:05 c9iTUyav
>多分実行するクラスがgameplay()に移った時点で
>またpublic void keyPressed(KeyEvent e){
>が有効になってしまうのではないかと思うんですけど。本当のところは不明。
keyPressedとgameplayにsynchronized付けてブロック汁!
>>116のリンク先の説明見ると一発で解ると思う。
あと、無理に1.4使う必要も無いかもヨ。仕事で商用の携帯JAVAアプリ作ったけど
1.3で作ったし。1.4だと動かない(・⊿・)アヘアヘ
132:名前は開発中のものです。
02/12/20 11:59 c9iTUyav
石板庭やってみた。おもろい!(・∀・)ガンガレ!
133:あぼーん
あぼーん
あぼーん
134:名前は開発中のものです。
03/01/17 09:41 0SE8pdVF
∧、
冫⌒ヽ\ / ,,....,ヽ
|( ● )| i\c´,_、, ゞ' 何か言い残すことはあるか?
ゝ _ノ ^i |l、.,,_.ノソ
|_|,-''iつl/ ー\,;
[__|_|/〉"|Y/, (), シュボッ
[ニニ〉 |E| END
└―'
135:名前は開発中のものです。
03/02/06 18:51 DEyse5Nb
PNGの半透明、透明についてのメモ
エミュレーターでは半透明表示されるが実機ではされない
透明はエミュではOK、実機ではインデックスカラーにしないとNGな物がある
136:名前は開発中のものです。
03/06/15 00:52 mNsHA9px
作者登録して、簡単なアプリUP、自分でダウン
スゲーって感じな毎日やってます。
ただ、javaは初めてというか、GUI使ったアプリが
初めてなんで、すげーつまずいてます(^^;
そんな訳で、まず今作ってる習作アプリで、
ユーザ名入力-->レコードストアってのを
したいんですが、入力のとこがさっぱり分かりません。
どっかに、サンプル落ちてませんか?
137:136
03/06/15 01:12 mNsHA9px
↑の補足
大昔のDOS時代にゲームやてたので、
キー拾うのとか、ファイルIOとかは、
なんとかなったんだけど、GUIというか
おぶじぇく指向とか、もー辛いっす(泣
138:名前は開発中のものです。
03/06/15 11:39 nklW6PrT
>>136
日付を見たらわかると思うけど、このスレはすでに死に体。
一応、ヒントをあげると、TextBoxまたはTextField を使いましょう。
139:136
03/06/15 12:18 mNsHA9px
>>138
チェックしてなかった(w
TextField は、さっき撃沈したので
今度はTextBoxをやってみます
先は長い(^^;
今までHttpConnection を試そうとしてみて
SecurityExceptionが出てしまって、
夢が破れたとこ(w
140:名前は開発中のものです。
03/06/15 12:50 Dl+CCjpJ
URLリンク(www.geocities.jp)
下のほうに ばばほど
141:名前は開発中のものです。
03/06/15 12:54 nklW6PrT
>>139
HttpConnectionで例外が出る場合は、
JADファイルのMIDlet-Network属性をチェック。
142:136
03/06/15 13:23 mNsHA9px
>>141
あ゛ーーー、チェックしてみたら、
テスト用のjadでなくて、別なアプリのjadに
MIDlet-Network書いてました(^^;
でも、動かしたら別なexceptionが出てしまったので
続きは後日にします。
わざわざサンキューでした。
143:136
03/06/15 13:24 mNsHA9px
関係ないけど、ホットゾヌ立ち上げてると、
Emuがワトソン君を出して死にます(^^;
ノートPCも熱くなるし、、、、。
しばしクールダウンします。
144:Homa
03/10/02 16:30 MRWcIN/e
URLリンク(kutipatti.fc2web.com)
上記のサイトを作ってみた。
ゲーム製作とかに役立つと思うからドンドン活用してくだされ。
145:名前は開発中のものです。
03/10/02 20:05 iv0nEX4r
>>144
無断リンクさせてもらった
URLリンク(f14.aaacafe.ne.jp)
146:あい
03/10/02 21:07 GSrY29kA
かなりおすすめの無料着メロサイト♪
ゲームとか画像UP掲示板とかもあって面白そうだったよ~♪
ほんとだまされたと思って行って下さい☆
絶対満足するから~♪
URLリンク(yokozuna.tv)
147:Homa
03/10/03 18:57 oGqjoCiF
>>145
こちらも無断リンクさせてもらった
148:名前は開発中のものです。
03/10/05 19:36 oRgdmSCf
ん
149:名前は開発中のものです。
03/10/21 16:35 /HUghbu9
Java3Dでゲームを作りたいんですが、ひな形を教えてもらえませんか?
メインループとキー入力、描画処理といったところの書き方が、
よく分かりません。お願いします。
150:名前は開発中のものです。
03/10/21 17:20 PEDhnL6m
>>149
アホか。雛型とかいうレベルじゃねぇじゃねぇか。
わからないならすなおに勉強しろ。
151:名前は開発中のものです。
03/10/24 00:15 9g1gRB38
いや、それは雛形そのものだと思うが…。
152:名前は開発中のものです。
03/10/25 22:19 Q04KnPrD
test
153:名前は開発中のものです。
04/02/25 19:01 YW6RuRGY
保守age
154:名前は開発中のものです。
04/03/05 17:59 1NO6GP5X
hosyu
155:名前は開発中のものです。
04/09/27 00:02:15 aLBna6ae
質問です。
Javaアプリでゲーム作ってますが、どうしても逆コンパイルかけられて
ソースを覗かれるのがいやなのです。
何か良い方法はありませんか?
156:名前は開発中のものです。
04/09/27 10:09:27 T2soXioa
>>155
携帯電話以外からでは落とせなくする、くらししか思いつかん
157:名前は開発中のものです。
04/12/15 01:19:48 NhtlaWBw
>>155
Javaの仕様です。
オブファスケータを掛けて難読化するぐらいしかできやんです。
158:名前は開発中のものです。
05/11/27 13:54:03 pzJuOkH3
こんにちは
アプリ作ってみたいけど、何から初めていいのか分からない
やっぱりゲーム作ってる人はすごいよ
それが神ゲーでもクソゲーでも
159:名前は開発中のものです。
05/12/30 15:35:48 B6mbhf7R
人は神にも悪魔にもなれる
お前もがんばれ
160:名前は開発中のものです。
06/03/15 01:11:38 cXOEjtfT
保守
161:名前は開発中のものです。
06/03/17 21:38:02 vUVyLZPM
162:名前は開発中のものです。
06/03/18 14:42:20 FQ/Z8uaG
>155
難読化ツール、あいまい化ツールというのがあります。
いくつか探してみたら?
私はRetroGuardというのを気に入っています。
・・・ていうかあんまり広めると人のソースが見られなくなるな・・・
163:名前は開発中のものです。
06/03/18 15:59:29 uHKk3MH9
>>162
2年前の記事にレスしても、本人はもう見てないと思う。
164:名前は開発中のものです。
06/03/18 16:12:59 ko6FX2W/
スレが浮上するとこういうことあるよな(笑)
165:名前は開発中のものです。
06/03/18 17:38:50 vkElBUm0
>>16
どこまで進んだ?
166:155
06/03/23 02:12:11 qr5DCIs5
>>162
ありが㌧。2年ぶりにageたのも私ですww
でも難読化やあいまい化は根本的解決にならないので、
C++で作ったDLLでクラスファイルをロードするように作り直しました。
DLLはさすがに読まれないでしょ。(頑張っちゃう人は除外)
Web Startで作成してますが、DLLは「アクセス権限を無制限にしちゃうよ?」の
警告ダイアログが出るしWinとUnixでモジュールを分けて作らないといけないので面倒です。
難読化の逆でリバースコンパイルのみならず、さらに分かりやすい変数名や
ロジックに変換してくれるツールがあればなーと思ってます。
167:名前は開発中のものです。
06/05/21 16:41:04 QLiV9SuF
2年の歳月を経て完全なスレ違いであることが発覚とは・・・
168:名前は開発中のものです。
06/05/21 22:24:04 /nJQ4VWC
>>16
進捗報告マダー?
169:名前は開発中のものです。
07/01/14 23:44:12 Thdw6B9O
170:名前は開発中のものです。
07/04/03 14:32:37 qom87o6H
完全にFlashに食われたな。
171:名前は開発中のものです。
07/04/03 14:41:26 tJ3eBjgj
JavaアプリなんだからFlashとは別だろ
アプレットならありえるかもしれんが、やれることの違いが大きすぎ
172:名前は開発中のものです。
07/04/03 21:04:51 rJufFly0
>>166
そこまでするなら普通にSDLとかつかえばいいんでない?
なぜJavaでつくってんの?
本末転倒にみえるんだが。
173:名前は開発中のものです。
07/04/22 19:28:32 7uPTnwzf
JAVAじゃBEEPで音程鳴らせないのか・・・
174:名前は開発中のものです。
07/05/03 08:55:06 +ADx2sfO
>>173
いや、動的にBEEP音を作ってバッファに格納し、それをwavバイナリとして再生すればどんなBEEPでも鳴らせるw
175:名前は開発中のものです。
08/01/08 14:20:34 njc5h6a6
ビープでしゃべらせてた98版卒業おもいだした。
176:名前は開発中のものです。
08/02/13 12:35:14 I7aq4ZB6
おまいら気長すぎw
177:名前は開発中のものです。
08/02/13 15:40:29 3/Kleoug
98でときメモのビープボイス集めてたの思い出した
178:正義の味方
08/02/13 23:23:39 fOOe9uew
地球を救う正義の味方、今こそ参上!!
URLリンク(seiginomikata.xxxxxxxx.jp)
179:名前は開発中のものです。
08/10/28 21:06:12 y+shKCZx
a
180:名前は開発中のものです。
09/02/24 07:25:39 gN7N17Qr
>>179
(´・ω・`)ショボーン
URLリンク(imepita.jp)
181:名前は開発中のものです。
10/03/03 01:04:07 KU9oMtWO
てす