- 1 名前:名無しさん@お腹いっぱい。 [01/11/08 23:35 ID:kmeAWDum]
- PCのブラウザで出来ることは全てやりつくされた?
なんか凄いの作れないの? もう携帯だけの過去の遺物?
- 297 名前:名前は開発中のものです。 mailto:sage [04/01/18 00:05 ID:R2AUtvDl]
- >>295
ちょっと面白いかも。 ここってオリジナルのゲームなんでしょ? なのに、フリーで出まわってるゲームも置いてるなんて、なんだかなぁ。
- 298 名前:JAVA初心者・・・ [04/01/19 04:41 ID:7ZOz3AkQ]
- はじめまして!!
今宝探しゲーム作っているのですがどなたか参考になるソースもってませんか? 目標はFF9のミニゲームだった「ここほれ!チョコボ」です。 どなたかご協力お願いします<(_ _)>
- 299 名前:名前は開発中のものです。 mailto:sage [04/01/19 15:27 ID:snVCA4Sa]
- >>298
スレ立てといてなんでここで聞いてるんだよ
- 300 名前:名前は開発中のものです。 mailto:sage [04/01/21 00:26 ID:j6QTKwUD]
- 海外のサイトだけど、
www.javagameplay.com/games.html とか。 あまり面白くはないけど、すげーなと思う。
- 301 名前:名前は開発中のものです。 mailto:sage [04/01/21 02:01 ID:JJmOkv2J]
- 漏れも海外のサイト紹介しちゃうぞ
www.classicgaming.com/jmsxemu/
- 302 名前:名前は開発中のものです。 mailto:sage [04/01/21 09:01 ID:j6QTKwUD]
- 紹介されているページを見る限りでは、
グラフィックスに関してはほぼ何でも出来るが、 音まわりの処理が苦しい?
- 303 名前:名前は開発中のものです。 mailto:sage [04/01/22 21:10 ID:sEG1ecAb]
- www1.jawink.ne.jp/koji-y/
既にでてるかな?
- 304 名前:名前は開発中のものです。 mailto:sage [04/01/23 01:56 ID:hxTgIGSZ]
- 何回かチャレンジしたけど、
ヘリも飛行機も操縦がムズ過ぎ。速いマシンほど速く動いてる? もっと簡単だったら楽しいような… じゃ、更に追加で、 www2.odn.ne.jp/~cdh88520/pfsa_top.html 同じサイト内だけど、 www2.odn.ne.jp/~cdh88520/starship_battle_shimulator_top.html も。 下のは複雑すぎでした…
- 305 名前:名前は開発中のものです。 mailto:sage [04/01/25 01:26 ID:hok/ATwA]
- このすれっどをみて
ぼくは じゃばよりふらっしゅのほうがいいんだなと おもいました。
- 306 名前:名前は開発中のものです。 mailto:sage [04/02/10 01:23 ID:roXOg29f]
- >>305
そう思ったなら多分それが正解。 適材適所。
- 307 名前:名前は開発中のものです。 mailto:sage [04/05/12 17:29 ID:+KwjynEM]
- www15.tok2.com/home/sitappa/java/runner/exrunner.html
- 308 名前:名前は開発中のものです。 mailto:sage [04/05/15 11:19 ID:atd2UrGF]
- おお、久しぶりの書き込みだな。
せっかくの書き込みなのにすまないんだが、 >>307 すまん、全然たいしたことない。 ってゆーか、ほとんど正男じゃん。 もっと凄いjavaゲームはないものか。
- 309 名前:名前は開発中のものです。 mailto:sage [04/06/07 18:19 ID:KZ9AiAg4]
- ゲームの限界というより作り手の限界…
- 310 名前:名前は開発中のものです。 mailto:sage [04/06/21 18:11 ID:uNmG74S6]
-
ttp://java.sun.com/j2se/1.4/ja/docs/ja/guide/sound/programmer_guide/contents.html JAVAサウンドプログラマーズガイド
- 311 名前:名前は開発中のものです。 mailto:sage [04/06/21 18:50 ID:WQ1GKg6I]
- >>307のゲームは一体何もどきなんだろう?
- 312 名前:名前は開発中のものです。 [04/09/27 00:03:41 ID:aLBna6ae]
- 質問です。
Javaアプリでゲーム作ってますが、どうしても逆コンパイルかけられて ソースを覗かれるのがいやなのです。 何か良い方法はありませんか?
- 313 名前:名前は開発中のものです。 mailto:sage [04/09/27 00:41:30 ID:be/ifB4A]
- 難読化とかすればいいんじゃね?
もしくは、すべてのクラスファイルを独自で暗号化して、 自前の複合化クラスローダー無しには読み取れなくして、 そのクラスローダーの使い方を難しく&難読化して、読めなくするとか。 以下、参考までに。 jarg - 最適化ツール ttp://jarg.sourceforge.net/ RetroGuard配布サイト(英語) - 難読化ツール ttp://www.retrologic.com/retroguard-main.html RetroGuard日本語解説サイト? ttp://mascot.mis.ous.ac.jp/horb-ous/ihorb/RetroGuardData.htm Java無関係用語集 - 難読化について ttp://www.netgene.co.jp/java/technicalTerms.html#Obfuscation
- 314 名前:名前は開発中のものです。 mailto:sage [04/09/27 00:42:36 ID:be/ifB4A]
- マルチだったのか・・・
- 315 名前:名前は開発中のものです。 [04/09/27 07:34:52 ID:aLBna6ae]
- >>313
ご親切に、ありがとです。 早速、jargで難読化したり、jodeで逆コンパイルして確かめてみたり してみました。 ・・ん〜、簡単に覗けてしまいました。 根本的な解決方法としては、 >すべてのクラスファイルを独自で暗号化して、 >自前の複合化クラスローダー無しには読み取れなくして、 >そのクラスローダーの使い方を難しく&難読化して、読めなくする かもしれません。是非、もう少し掘り下げて教えていただきたいです。
- 316 名前:名前は開発中のものです。 mailto:sage [04/09/27 07:51:00 ID:MzHevRDp]
- ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/ClassLoader.html
- 317 名前:名前は開発中のものです。 mailto:sage [04/09/27 19:28:31 ID:n84gmfqB]
- >>315
jarg で最適化すれば、それなりに読みにくくなっているはず。 難読化ツールは、逆コンパイルを不可能にするんじゃなくて、 逆コンパイルされても、読みにくくて解読したくなくなるように出来るって事。 昨日言い忘れてたけど、jmangle って難読化ツールもある。 結構、サクッと使えていい感じ。 Jmangle 配布サイト ttp://www.elegant-software.com/software/jmangle/ > 根本的な解決方法としては、 > > すべてのクラスファイルを独自で暗号化して、 > > 自前の複合化クラスローダー無しには読み取れなくして、 > > そのクラスローダーの使い方を難しく&難読化して、読めなくする > かもしれません。是非、もう少し掘り下げて教えていただきたいです。 この説明で分からないなら、ちょっと解説に時間がかかりそうだが・・・どうするか・・・ まぁ、自分も近いうちに、これをやってみようと思ってたから、まとめてみるかも。 つーか、マルチ('A`)イクナイ
- 318 名前:名前は開発中のものです。 mailto:sage [04/09/30 22:22:50 ID:oihGIM+f]
- やっぱマンドクセ
- 319 名前:名前は開発中のものです。 mailto:sage [04/09/30 22:36:30 ID:SJALzkxF]
- Web開発ではやったことあるけど、ゲーム作る程度でやる気ないなぁ。
どうせ、作るつもりないだろうけど。
- 320 名前:名前は開発中のものです。 [04/10/02 13:58:02 ID:mB8JJc6Y]
- これが一番手っ取り早いのでは!?
>>pc5.2ch.net/test/read.cgi/tech/1060340560/152
- 321 名前:25 mailto:sage [04/10/03 01:54:29 ID:clInMJlt]
- >>320
JNIか。 確かに手っ取り早いかもしれないけど、ネイティブ 絡むとマンドクセ。 >>315 見てるかどうか知らないけど、まとめてみた。 ttp://potage.s58.xrea.com/wiki/wiki.cgi?page=CipherClassLoader とりあえず脳内にあるのをメモっただけだから意味不明かもしれないが、まったり考えていく予定。 実際に作るかどうかは分からん。
- 322 名前:名前は開発中のものです。 mailto:sage [04/10/03 01:58:11 ID:clInMJlt]
- ぐはぁっ _/\○_
名前が…
- 323 名前:315 [04/10/03 12:02:03 ID:drsRfI5F]
- >>321
毎日拝見しております・・。 321さんのHP覗いてみたのですが、インスタンスをClassクラスで生成する際の問題は、 newInstanceメソッドで引数なしでnewした後、初期化処理を行うメソッドを呼び出すようにすれば良いかと。 それとも、別のクラスにコンストラクタの引数に渡したいオブジェクトをsetterメソッドで登録しておけば、 引数なしのコンストラクタ内でその値をgetterメソッドで取り出すルールを 設ければうまくいくのではないでしょうか? 暗号化する・しないはクラス設計時に判断しないと無理ですけど。 出来れば、呼び出す側で暗号化ロジックを通す通さないで、ハンドリングできれば 便利で良いのですが。 クラスの直列化や複製もインタフェースをあらかじめ実装しないと 例外が発生するから別に当たり前の実装方法かも。
- 324 名前:315 [04/10/03 12:32:06 ID:drsRfI5F]
- 続き
内部クラスもクラスファイルをロードしないと無理です。
- 325 名前:321 mailto:sage [04/10/03 13:53:25 ID:aFzOfy+1]
- ってか、シリアライズでちょっと思ったんですけど、
暗号化したいクラス(以下A)のメソッドを定義したインターフェイス(以下AI)を用意して、 A をシリアライズでファイルに書き出して、その時暗号化しとく。 んで、読み込み時に AI にキャストすればソースに手を加えなくても、 なんとかなりそうな気がする。
- 326 名前:321 mailto:sage [04/10/03 14:37:14 ID:t6nSKj1T]
- なんか思いつきで書き込みしてしまったけど、
本質的なコンストラクタの呼び出しの問題は全く解決してないですね^^; > newInstanceメソッドで引数なしでnewした後、初期化処理を行うメソッドを呼び出すようにすれば良いかと。 コンストラクタでしか呼べないモノの問題が出てくるのではないでしょうか?(super とか。) > それとも、別のクラスにコンストラクタの引数に渡したいオブジェクトをsetterメソッドで登録しておけば、 > 引数なしのコンストラクタ内でその値をgetterメソッドで取り出すルールを > 設ければうまくいくのではないでしょうか? これなら、いけそうな気がしなくもないですね。 いろいろと面倒な感じになりそうですが、現実的かと。 > 出来れば、呼び出す側で暗号化ロジックを通す通さないで、ハンドリングできれば > 便利で良いのですが。 暗号化したクラスも、暗号化していないクラスも同じように呼べるって事でしょうか? > クラスの直列化や複製もインタフェースをあらかじめ実装しないと > 例外が発生するから別に当たり前の実装方法かも。 頭悪いのでよく理解できません(;´д`) 申し訳ない。 > 内部クラスもクラスファイルをロードしないと無理です。 やはりそうですか・・・ ってか最初、マルチやってたので、ぶっちゃけ見くびってましたが 意外に実力のある方のようでつね。 ごめんなさい&内定ください。(何
- 327 名前:315 [04/10/03 16:44:18 ID:Ab3yDh7p]
- >>326
> クラスの直列化や複製もインタフェースをあらかじめ実装しないと > 例外が発生するから別に当たり前の実装方法かも。 説明へたくそですみません。 クラスをシリアライズする時、Serializableインタフェースが実装していないと NotSerializableException例外が発生。 複製するときも、Cloneableインタフェースを実装していないと、 CloneNotSupportedException例外が発生。 なので、暗号化させたいクラスにも暗号化に必要なメソッドや変数を定義してある 暗号化インタフェースを実装していないと "暗号化インタフェースが見つからない"例外を発生させて、 コンパイル時に開発者に警告をうながす事も使いづらいの反面 合理的なのかなと思ったわけです。
- 328 名前:321 mailto:sage [04/10/03 18:19:21 ID:l36e1OTn]
- >>327
なるほどなるほど。そういう意味でしたか ^^; しかし、そうなると疑問なのは、実装どうなるのかなぁ?と。 自分の中では、 ・クラスファイルをデコンパイルさせたくないぜ。 ・専用クラスローダーでしか読めなくすればいい。 ・コンストラクタの呼び方が面倒になっちゃった。 ・暗号化対応ソース自動変換ツールで、暗号化を意識しなくても大丈夫なシステムを! ・自動置き換えの、置き換え方を考えるぞ〜 って流れなので。 暗号化インターフェイスで暗号化を制御するとなると、実装はどうなるんだろう?って思うわけです。 暗号化インターフェイスを実装していたら、暗号化する? 暗号化するのは誰? com.sun.tools.javac.main.Main を使って自力で暗号化コンパイラを作る? みたいな。
- 329 名前:名前は開発中のものです。 [04/10/05 00:20:10 ID:vzG1Y+sw]
- >>328
その前に一つ問題があるのですが、独自で実装したクラスが独自で実装した インタフェースをimplementsしていた場合、どうやってクラスオブジェクトを ClassLoaderから取得できるのでしょうか? インタフェースだけならClassオブジェクトを取得出来るのですが、 インタフェースを実装したクラスの場合では、NoClassDefFoundError例外が発生します。
- 330 名前:名前は開発中のものです。 mailto:sage [04/10/05 01:03:07 ID:2w/Bi/QR]
- Javaアプレットって、やっぱりサーバにプログラムを置いていても
クライアントから持っていかれて逆コンパイルされるんだよね?
- 331 名前:名前は開発中のものです。 [04/10/05 01:07:54 ID:vzG1Y+sw]
- >>330
なので、逆コンパイルできないネイティブコードでClassLoaderクラスを 独自実装するか、それとも、逆コンパイルされても解読が難しくなるように ソースを難読化するかのどちらかに分かれて検討しているところです。
- 332 名前:名前は開発中のものです。 mailto:sage [04/10/05 12:43:28 ID:pyJtAE+Y]
- クラスローダをネイティブコード?
アプレットならデフォだとセキュリティでひっかかるんじゃないの? 署名したりインストールの手間とか考えると 普通にアプリケーションベースでネット経由でJNIをまぜつつ ダイナミックにクラスをロードするほうが便利な気がするんだが
- 333 名前:名前は開発中のものです。 mailto:sage [04/10/05 13:06:55 ID:J9uCsa2u]
- どんな暗号使っても
その独自クラスローダを勝手に呼び出されたら それで終わりだと思うんだけど。 結局ユーザ側で実行できるってことは どっかで普通のバイトコードに落ちるんでしょ? それを読む方法が何かしらあるわけで
- 334 名前:321 mailto:sage [04/10/05 14:53:07 ID:UnlMJM9l]
- >>329
すみません。今のところ全て机上論なので実際のところは分かりません。 今から実際にソース書いて実験します(´д`;) >>333 独自クラスローダーのインスタンスの作成の仕方を難読化すればいいと考えています。 沢山の偽者コードの中に本物を一つ書いてスパゲッティーにしたり、 さらに難読化ツールでメソッド名なんかを変えると、読めなくなると思います。 また、ダミークラスローダーなんかも、いくつか作れば、どれが本物なのか分からず 解読を諦めるのではないでしょうか? 藁の中から針を探す難しさだと思います。 アプリケーションの中身とは全く違う部分で労力をかけますが ^^;
- 335 名前:333 mailto:sage [04/10/05 15:45:56 ID:J9uCsa2u]
- >>334
いや、同じことだと思うよ ClassLoader#(String,byte[],int,int)に ブレークポイント張ってデバッガで実行されたら アウトなんじゃないの?
- 336 名前:321 mailto:sage [04/10/05 16:37:25 ID:oJqqTbhC]
- ぐはっ!!!
そうっすね…少々焦点が狭かったか… あと、 new Exception().printStackTrace(); とか、コードに埋め込まれたら 処理の流れが分かるって事も、今思い出しますた。 工夫しても解読されるのは時間の問題か… モウダメポ('A`)
- 337 名前:321 mailto:sage [04/10/05 16:51:04 ID:oJqqTbhC]
- RMI 使ってインスタンスを取得すれば大丈夫そうな…
うーん。サーバーが常に動いてないとダメだけど。
- 338 名前:名前は開発中のものです。 mailto:sage [04/10/05 17:00:29 ID:pyJtAE+Y]
- そこまで暗号化が必要なアプレットのゲームってのはそうそう多くない希ガス
- 339 名前:321 mailto:sage [04/10/05 17:43:10 ID:oJqqTbhC]
- まぁ、アプレット限定の話しではありませんです。
- 340 名前:名前は開発中のものです。 mailto:sage [04/10/05 18:28:28 ID:pyJtAE+Y]
- >>321
このスレの名前をいってみろ
- 341 名前:321 mailto:sage [04/10/05 18:37:44 ID:oJqqTbhC]
- 放置・過疎スレ。
- 342 名前:名前は開発中のものです。 mailto:sage [04/10/05 21:51:30 ID:qIq4WQNz]
- >>339
いきなりスレの前提からはずれとるがなw それならJAVA使わずネイティブコードでやる方がより良さそうだし
- 343 名前:名前は開発中のものです。 mailto:sage [04/10/05 21:57:58 ID:u1RKRDG3]
- リバースエンジニアリングをどうしても防ぎたいのなら、ネイティブコードを吐く言語を使用したほうが良い希ガス。
- 344 名前:名前は開発中のものです。 mailto:sage [04/10/05 22:38:11 ID:pyJtAE+Y]
- ネイティブなバイナリでもそのプログラマとコンパイラの癖わかれば
それなりに簡単にわかるぞい あたりがつけばどんどん加速度的に分かるものだ クラックされるくらい関心度の高いゲームが作れるかどうかのほうが重要だと思うんだがね
- 345 名前:321 mailto:sage [04/10/05 23:10:54 ID:oJqqTbhC]
- >>342
> いきなりスレの前提からはずれとるがなw >312 で逆コンパイルを防ぎたいとのマルチ質問があり、 俺がうっかりマジレスしたのが始まりで、それからは逆コンパイルを防ぐ話題でした。 >>312 以降、アプレットの話しは一切してないっす。 人も全然いないみたいだし、問題ないか、と思って。 >>343 そりゃそうだけど・・・_| ̄|○ >>344 > クラックされるくらい関心度の高いゲームが作れるかどうかのほうが重要だと思うんだがね ごもっとも。 どこかのスレで、 実行できるものを配るということは 暗号化したファイルと、複合化のキーを一緒にして配るようなものだから。 いくら暗号化しても防ぐのは無理。 解析されるのも時間の問題。 って読んだ希ガス。今、思い出した。
- 346 名前:名前は開発中のものです。 mailto:sage [04/10/05 23:55:58 ID:2w/Bi/QR]
- 解析されるのが手間になる方向しかないわけね。
- 347 名前:名前は開発中のものです。 [04/10/06 22:03:14 ID:dUtJtg+D]
- 難読化ってそういうことだからなぁ。
先進的なアイデアなら特許取れるし。 昔なら実行時書き換えって技もあったけど、いまどき現実的でないしなぁ。 どうやって難読化しようかって考えるより、一行でもコード書いたほうが 自分のためになるんだよな。 .NET用のは結構いいのがあるようなのだが。 乱文失礼
- 348 名前:名前は開発中のものです。 mailto:sage [04/10/06 22:22:02 ID:CQVHxZ5S]
- >昔なら実行時書き換えって技もあったけど、いまどき現実的でないしなぁ。
VM依存言語だと実行時中間言語生成ってな話かねぇ。 >.NET用のは結構いいのがあるようなのだが。 確かに。 Javaな方面ではサイズ縮小だけが狙いで、本来の意味での難読化の要求が少ないのかも。
- 349 名前:名前は開発中のものです。 [04/10/06 22:34:27 ID:WwhPAGcr]
- test
- 350 名前:名前は開発中のものです。 mailto:sage [04/10/06 22:44:22 ID:Em+Tmfm5]
- まぁ10年くらい前から開発されてきたものだしなぁ
- 351 名前:名前は開発中のものです。 mailto:sage [04/10/06 23:04:15 ID:ekr4P7Le]
- Java Pressのvol35に、難読化とクラスローダーについて書いてあった。
RetroGuardか何かが、クラス名やメソッド名をaとかbにするみたいだが、 クラスサイズを犠牲にしても、a05470210303とかの方が難読化にならないかな、 と思ったが、リファクタリングで変換一発か。
- 352 名前:312 [04/10/07 00:34:57 ID:SXGuxMIT]
- >>351
詳細希望。ま、買えばいっか。 Javaアプレットでは無い時点で論外ですが、自分の作っている ゲームアプリはJavaWebStartを使用しています。 なぜか、メインフレームの部分が解読不可能でした。 jodeとかmochaで試したのですが、エラー起きちゃいます。 そんな訳で当分は検討しなくてもよいかな〜と考えている所です。 勝手ながら、この件のレスはここでクローズと言うことで。
- 353 名前:名前は開発中のものです。 mailto:sage [04/10/07 01:32:11 ID:WcODZ6m5]
- 変なフォーマットのclassファイルを作って
MSのVMでは動くけどSunのjavapではエラーが 出るようにしてたアプレットがあったなー たしかkomplexのデモだったと思うけど
- 354 名前:名前は開発中のものです。 mailto:sage [04/10/07 01:42:39 ID:+NyIBcQo]
- クラスファイルのバージョンに対応してないとか
- 355 名前:名前は開発中のものです。 mailto:sage [04/10/07 02:05:51 ID:7BhZIGQ/]
- webstartはアプレットとアプリケーションとあるから
一応また次元の違う話ではある あとメインフレームってのが独自用語か? なんとなくわかるが
- 356 名前:312 [04/10/07 02:36:24 ID:SXGuxMIT]
- >>354
いえいえ。jodeで試した結果では、Java1.4でclassファイルを普通に認識しました。 ですが、複数のクラスを読み込んだうち、ソースに変換するものと例外が発生するものと様々でした。 例外はjodeパッケージに含まれている独自の例外クラスでしたので、詳細は分かりません。 >>355 >webstartはアプレットとアプリケーションとあるから WebStartってアプレットでも配布可能でしたっけ? >メインフレームってのが独自用語か? すいません、これは、mainメソッドを実装しているFrameクラスの継承クラス の事を指します。
- 357 名前:名前は開発中のものです。 mailto:sage [04/10/07 11:01:50 ID:7BhZIGQ/]
- webstartアプレットってしらんかね
JNLPしらべてみそ ちなみに新しいウインドウが出てブラウザから独立するので ブラウザを終了させてもいいとかそういう感じ もはやアプレットである利点はさほどないけど すでにアプレットになっているやつをwebstartにするならそれなりに価値もあるのかも あとはinsetsを気にしなくていいくらいかな もちろんいろいろなやりとりはJNLPAPIでやるというのもかわらない
- 358 名前:名前は開発中のものです。 [04/10/10 11:51:36 ID:RlxkQKMF]
- >>357
webstartを起動したときに、クライアント側にアプレットのモジュールを DLしておき、ブラウザを自動で起動した後で、クライアントにDL したモジュールを読み込ませるって事ですか? 単純にブラウザを起動するアプリをjnlpのAPIを使って実装し、 ブラウザ側ではアプレットを配置してあるページを表示させる だけであるなら、webstartはあまり関係が無いような。 jnlpAPIでブラウザを起動するとき、何か利点あるのでしょうか?
- 359 名前:名前は開発中のものです。 mailto:sage [04/10/10 14:23:36 ID:2gZf+UVq]
- WebStartは
・ブラウザを閉じても起動したままで終了処理とか管理が楽 ・JNLPAPIでローカルの資源を(デフォで警告は出るが)比較的危険のない範囲で使える ・キャッシュ処理によりアプレットのように毎回ロードしない ・細かいVMのバージョンチェックが可能 ・2回目からはデスクトップやランチャーのショートカットでブラウザに関係なく起動できる 質問の意味がちょっとわからないが URLClassLoaderを勉強するといい これを使えばスタンドアロンのJavaアプリケーションでもバージョン管理とかが可能 これで俺はシステムたくさん組んでいる ゲームでもjarファイルを別管理することによりゲーム本体と拡張部分を分けて管理が可能 RPGならソーサリアンとかのシステムとシナリオを分けるとかSTGだとコアと面データを分けるとか
- 360 名前:名前は開発中のものです。 [04/10/10 15:07:46 ID:RlxkQKMF]
- >>359
質問はwebstartって何? では無くて、 質問はwebstartappletって何? です。 私も、webstartで2DRPGを作っています。
- 361 名前:名前は開発中のものです。 mailto:sage [04/10/10 19:15:39 ID:2gZf+UVq]
- jnlpファイルの書式みてみろ
普通のアプレットを指定できる 利点はWebstartのAPIが使えるなど上に書いたのと同じだ
- 362 名前:名前は開発中のものです。 mailto:sage [04/10/10 19:36:52 ID:7+4TU6CI]
- アプレットも署名すれば、ローカルPCにアクセスできるよね。
- 363 名前:名前は開発中のものです。 mailto:sage [04/10/10 20:13:16 ID:inJquGiH]
- 署名ってどうやるの
- 364 名前:名前は開発中のものです。 [04/10/10 20:25:04 ID:RlxkQKMF]
- webstart経由でアプレットが起動されれば、
クラスローダーやセキュリティマネージャがwebstartに依存されているため、 アプレットの時のようなややこしい設定プロセスを簡略化できる。 ということは、アプレットプログラム内でコンソール出力したり すれば、webstartにログ出力されるという事か。 もし、そうだとしたら、使えるかも。 やりたいことがあるが、ちょっとセキュリティ上無理かと思っていたことが 可能になるかも・・。(独り言)
- 365 名前:名前は開発中のものです。 mailto:sage [05/02/22 18:59:11 ID:KzKSqXlr]
- やっぱりみんなそこまでしてソースを隠したいんだよね。
だから参考にしようとソース探しても全然ない。 結局掲示板で質問房が増える。 なんだかな〜。
- 366 名前:名前は開発中のものです。 mailto:age [2005/03/28(月) 02:49:42 ID:kEg8t2iM]
- ってなわけで、作ってみました。
- 367 名前:367 mailto:sage [2005/04/04(月) 01:42:44 ID:29VrGWc9]
- こんな感じになりましたが、どうでしょう?
>>gbsaga.ddo.jp/netgame/dillema/cliant/Dillema.jnlp
- 368 名前:名前は開発中のものです。 [2005/08/02(火) 10:06:22 ID:T+awd9IP]
- 保守
- 369 名前:π [2005/12/14(水) 00:42:07 ID:au/Ihpoc]
- 質問です。
Linux環境でアプレットのアニメーションを作っています。 ダブルバッファリングしているのにちらついています。 どこかの大学の講義のページでダブルバッファリングするとこうなる、っていう例を見てもちらついているようなので、LinuxとNetscapeで実行するのに何か問題があるのでしょうか? 不思議なことにアプレットビューワの上でマウスを動かし続けていると非常になめらかに動き続けます。 カーソルを止めるとまた、たまにカクッカクッと止まります。 なんなんでしょう?アプレットビューワの上でカーソルを動かしてる間はなめらかってのは…。
- 370 名前:名前は開発中のものです。 [2005/12/14(水) 03:26:56 ID:UOIsfffY]
- >>369
ソース公開汁。 アプレットビューワはそんなに信用しないほうがいい。 ブラウザでは出来ない動作が可能だからだ。
- 371 名前:名前は開発中のものです。 mailto:sage [2005/12/14(水) 09:22:28 ID:VHYWcMtd]
- Flash 8.5が出たらJavaアプレットは今度こそ死ぬな。
- 372 名前:π [2005/12/14(水) 12:46:00 ID:au/Ihpoc]
- ありがとうございます。そうなんですか。アプレットビューワは信用できないんですか?
実際に何が起こっているのかはわかりませんが、外見上は、たまにrepaint飛ばしてるんじゃないかって感じで、 一瞬止まったように見えるのです。で、カカカカカカカカカカクッカカカカカカカカカクッカカカカカカと… マウスカーソルをアプレットビューワの上で動かしてると、凄くなめらかなアニメーションになって スーと動きます。ずっとこんな風に動けばいいのに…。普通のことしか書いてませんがソースはこんな感じです。
- 373 名前:π [2005/12/14(水) 12:46:39 ID:au/Ihpoc]
- //RunnableをimplementしているAppletのサブクラス内です。
public void start(){ super.start(); image = createImage(width, height); /*オフスクリーンのGraphics*/ preg = image.getGraphics(); if(thread == null){ thread = new Thread(this); thread.start(); } } public void stop(){ thread = null; }
- 374 名前:π [2005/12/14(水) 12:47:50 ID:au/Ihpoc]
- public void run()
{ Thread thread0 = Thread.currentThread(); /*whileの条件式は丸移しですがこれでいいのか気になります*/ while(thread == thread0){ try{ thread0.sleep(50); } catch(InterruptedException e){ } /* ここにパラメータの変更 */ repaint(); } } public void update(Graphics g){ paint(g); } public void paint(Graphics g){ preg.clearRect(0, 0, width, height); /* ここに描画の部分draw****(preg, *****)って感じ */ g.drawImage(image, 0, 0, this); }
- 375 名前:名前は開発中のものです。 mailto:sage [2005/12/14(水) 20:39:46 ID:cJCmSJXT]
- repaint()の直後に、再描画が行われる訳じゃないんですよ。
描画イベントをイベントキューに入れるだけなんですね。 イベントキューから描画イベントが取り出された時点で、初めて描画されるのですね。 そのスレッドのタイミングによっては、複数のrepaint()がある特定のコマで 一緒にされたり、故にあるコマでのrepaintが飛ばされてしまうのですね。 マウスカーソルを動かすと、システムから連続でrepaintが発送されるので タイムラグがなくなり、スムーズに描画できるのです。故に解
- 376 名前:π [2005/12/14(水) 21:00:58 ID:au/Ihpoc]
- なるほどX11だとXFlushしないといけないのと同じなのですね。
納得です。 ありがとうございました。
- 377 名前:名前は開発中のものです。 [2005/12/14(水) 21:15:58 ID:7r834BYR]
- どういたしまして
- 378 名前:名前は開発中のものです。 [2006/02/07(火) 02:44:56 ID:YcqHXq4X]
- 「アプレットの読み込みに失敗しました。」
コンソールには 「************.classが見つかりません。」 と書いてあります。 デスクトップ上ではアプレットがちゃんと動作するのですが、 同じファイル(jarファイルとhtmlファイル)をアップロードしてから読み込むと見つからないと言われます。 どのような間違いが考えられるでしょうか?
- 379 名前:名前は開発中のものです。 [2006/02/09(木) 01:59:14 ID:2XaB8tQa]
- winSCPで転送するときに、
バイナリとか、テキストとか、なんか削除するとか設定が問題なのかなぁ。 転送後の画像がめちゃめちゃになったりしている…。
- 380 名前:名前は開発中のものです。 mailto:sage [2006/02/09(木) 02:18:23 ID:KZsev84P]
- 文字変換して転送してるのかよ
- 381 名前:名前は開発中のものです。 [2006/02/09(木) 03:30:00 ID:2XaB8tQa]
- 転送モードがテキスト、バイナリ、自動(特定の拡張子のファイルはテキストモード)とあって、
テキストモード、バイナリモード試してもうまくいかない。 サイズも変わってなさそうだし…。 自分のPC上では動くし…。
- 382 名前:名前は開発中のものです。 mailto:sage [2006/02/09(木) 11:25:08 ID:A4OVcy5n]
- その自分のPC上でhttpでとってくるようにはやってみたの?
- 383 名前:名前は開発中のものです。 [2006/02/09(木) 18:17:46 ID:2XaB8tQa]
- やったことないんですが、
それはhttpサーバをインストールして、 そこにファイルを置いてアクセスするってことでしょうか? サーバを介すと状況が変わってくる可能性があると…。
- 384 名前:名前は開発中のものです。 mailto:sage [2006/02/09(木) 19:10:26 ID:A4OVcy5n]
- その状況が変わるかどうかをみないとなんとも
コードがおかしい可能性が高いわけだし 初心者でもhttp鯖立ち上げるのに一番楽なのは NetBeansのようにTomcatこみのIDE使うあたりか
- 385 名前:名前は開発中のものです。 [2006/02/10(金) 07:41:28 ID:GjTMzduU]
- フォルダの配置とか実行コマンドとかもう少し詳しく書いてください。あとアプレットのhtmlファイルの<applet>の内容とか。
- 386 名前:名前は開発中のものです。 [2006/02/10(金) 10:06:44 ID:8daTPLyQ]
- マジスレ返してるし。
ボケろよつっこめねぇ!
- 387 名前:名前は開発中のものです。 [2006/02/10(金) 11:16:22 ID:8p7psy6q]
- まずhtmlファイルは、
<body> <applet archive="piyo.jar" code="hoge.class" width=500 height=400> </applet> </body> で、自分のPC上で実行するとIEの下のバーに「アプレット hoge started」と表示されてちゃんと動きます、 htmlとpiyo.jarを同じフォルダにアップロードしてhtmlを開くと「例外:java.lang.NullPointerException. java アプレットの読み込みに失敗しました..」あるいは、「アプレット hoge notinited」と出ます。 もう少しいろいろ調べてみます。
- 388 名前:名前は開発中のものです。 [2006/02/10(金) 11:54:55 ID:8p7psy6q]
- また387ですが、
hogeはHogeの間違いでした。 あと、実験でHello Worldもアップロードしてみたら動きました。 両方Linuxからscpコマンドで転送しました。 386さんはもし単純なミスに気づいてたら教えてください。
- 389 名前:名前は開発中のものです。 [2006/02/10(金) 14:02:02 ID:GjTMzduU]
- IE使えるならツール>SunのJavaコンソールに何かエラーの詳細が表示されてませんか?
- 390 名前:名前は開発中のものです。 [2006/02/10(金) 17:36:59 ID:8p7psy6q]
- 表示されています。
java.lang.ClassNotFoundException: Hoge.class at sun.applet.AppletClassLoader.findClass(Unknown Source)… Caused by: java.io.IOException: open HTTP connection failed. at sun.applet.AppletClassLoader.getBytes(Unknown Source)… Exception in thread "Thread-9" java.lang.NullPointerException at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)… java.lang.NullPointerException at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source) Exception in thread "thread applet-Ex2b_RotateEarth.class" java.lang.NullPointerException at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source) やはり HTTP connection failed がポイントでしょうか。
- 391 名前:名前は開発中のものです。 mailto:sage [2006/02/10(金) 17:40:29 ID:hccRquls]
- HTTPブロックしてるのかよ
- 392 名前:名前は開発中のものです。 [2006/02/10(金) 18:06:52 ID:8p7psy6q]
- 詳しくよろ
- 393 名前:名前は開発中のものです。 mailto:sage [2006/02/11(土) 01:52:51 ID:QWiuJU/z]
- ヒント:codebase
- 394 名前:名前は開発中のものです。 [2006/02/11(土) 02:24:35 ID:tfXfazFi]
- codebase属性は同じディレクトリに配置する場合省略できる
とあったので省略しています。書いてもうまくいきません。 それともなにか別のプログラムが必要なのでしょうか…。
- 395 名前:名前は開発中のものです。 [2006/02/11(土) 03:36:41 ID:tfXfazFi]
- PC上のApatchのlocalhostに置いてhttpアクセスしてみました。
やはり、動きませんでした。 しかし、HelloWorldは動きました。 同じアプレットのプログラムで何が異なっているんでしょう。 マニフェストファイル?(gcc環境で作成したことぐらいしか書いてない) PC上の同じディレクトリにhtmlとjarを置いてブラウザで開くとちゃんとstartするのです。 まったく意味がわかりません。
- 396 名前:名前は開発中のものです。 [2006/02/11(土) 09:29:15 ID:mZnM3IUc]
- ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=12&topic=23657
と同じ原因じゃない?
- 397 名前:名前は開発中のものです。 mailto:sage [2006/02/11(土) 12:19:21 ID:uCg0fPDg]
- その2つのコードの違いがわからんとなんとも
|

|