トップページgamedev
559コメント205KB

Javaアプレットのゲームの限界は!

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。01/11/08 23:35ID:kmeAWDum
PCのブラウザで出来ることは全てやりつくされた?
なんか凄いの作れないの?
もう携帯だけの過去の遺物?
0230あぼーんNGNG
あぼーん
0231名前は開発中のものです。02/11/15 12:36ID:???
>>229
これからバージョンが増えてってWin32 APIの悪夢が
再来することは目に見えてるだろ
JavaだってSunが事実上独占してるけど(ry
0232あぼーんNGNG
あぼーん
0233名前は開発中のものです。02/11/15 21:29ID:???
事実上SunとIBMのVMしか使われてないからなあ・・・
0234あぼーんNGNG
あぼーん
0235名前は開発中のものです。02/11/15 22:02ID:19ikqMY5
JDK1.4 でつくったアプレットが古いJREだと動きません。
だれが助けてください。
0236あぼーんNGNG
あぼーん
0237名前は開発中のものです。02/11/16 01:28ID:???
>>235
複数の原因が考えられるので、答えるのが面倒くさい。
0238あぼーんNGNG
あぼーん
0239名前は開発中のものです。02/11/16 04:22ID:???
ageた奴はこのスレに対する破壊行為者として認定。
0240あぼーんNGNG
あぼーん
0241age02/11/18 03:43ID:hCRk4P1V
>>74
私も同じ問題で困っていました。おかげで、アプレットがFlashに置き換えを
迫られてしまい、非常に悲しい思いをしていました。
Thinkpad Windows2000
○MicrosoftVM 5.0
○Sun 1.3.1_05
×Sun 1.4.0_02
○Sun 1.4.1
以上の環境の×がついている環境でふんづまりが起きています。
バージョンによってMemoryImageSourceの使用方法が悪いと固まるようです。
以上の環境で問題なく動作する変更方法を見つけましたので報告しておきます。
@MemoryImageSourceをnewするときに
 DirectColorModel(24, 0xff0000, 65280, 255)を用いる。
AMemoryImageSource#newPixcelsメソッドを使う。
Open-Programingの例に修正方法を書きます。
0242age02/11/18 03:44ID:hCRk4P1V
source002のRender.java
static final public void EndScene(Applet applet,Graphics offscreen)
{
offscreen.drawImage(applet.createImage(new MemoryImageSource(BUFFERW,BUFFERH,pbuf,0,BUFFERW)),0,0,null);
}

static boolean initf=false;
static MemoryImageSource mis;
static Image img;
static final public void EndScene(Applet applet,Graphics offscreen)
{
if(initf==false){
mis=new MemoryImageSource(BUFFERW,BUFFERH,new DirectColorModel(24, 0xff0000, 65280, 255),pbuf,0,BUFFERW);
img=applet.createImage(mis);
mis.setAnimated(true);
mis.setFullBufferUpdates(true);
initf=true;
}
mis.newPixels();
offscreen.drawImage(img,0,0,null);
}
0243あぼーんNGNG
あぼーん
0244名前は開発中のものです。02/11/18 05:31ID:???
>>241
それってディスプレイの設定が24bitカラーのときっすか?
0245sage02/11/18 06:07ID:hCRk4P1V
>>244

いや、内部形式として、24bitカラーとして扱う場合です。
いちお、256色モードのときも試してみました。
MicroSoftだと、ディザ256で、Sunだと、タイリング256で表示されました。
通常のnew MemoryImageSource()だと、32bitカラーで、上位8bitがαチャンネル
として認識されるので固まるときがあるのではないかなぁと思います。
0246名前は開発中のものです。02/11/18 06:09ID:???
あ、名前の欄にsageっ手書いてしまった。
鬱だ氏脳。
0247名前は開発中のものです。02/11/18 06:21ID:???
>>245
>通常のnew MemoryImageSource()だと、
>32bitカラーで、上位8bitがαチャンネルとして認識される
のは知ってるんだけど、
>ので固まるときがある
とどう結びつくのかが良くわからん。詳しい人解説キボンヌ。
Java内部でアルファブレンドしようとするので遅くなるとか?
0248名前は開発中のものです。02/11/18 06:36ID:???
http://www.gimlay.org/~andoh/hatena/JavaPerformanceTuning/newsletter009.html

最後に、パフォーマンス・フォーラムの外では Niels Jorgensen が、
アルファ・チャネル(alpha channel)を使わず、
MemoryImageSource.newPixels()と一緒に
DirectColorModel(new DirectColorModel(32,0x00ff0000,0x0000ff00,0x000000ff))
を使用したところ、デフォルト・カラーモデルを使用する場合に較べてどれほど画像描画が
著しく速くなったかについて説明していました。
そのスレッド( JavaGaming.Org Message Board: 2D Graphics Programming in Java: AWT: Oddities of drawImage() )
には newPixels() の使い方についてのより詳細な内容があります。

0249名前は開発中のものです。02/11/18 06:39ID:???
http://www.javagaming.org/discus/messages/2/113.html

Yieeeha!

If anyone else out there has similar problems, try this, after creating the MemoryImageSource:

cm=new DirectColorModel(32,0x00ff0000,0x0000ff00,0x000000ff);
memimgsrc.newPixels(aPixels,cm,0,iW);

Subsequent calls to newPixels does not need the color model (Once set, it appears as if the MemoryImageSource keeps on using it)...

とか書いてあります。よくわからないけど、
32bitのほうが速いのかなぁ???謎。
0250あぼーんNGNG
あぼーん
0251名前は開発中のものです。02/11/18 07:19ID:???
>>249
実験できるソースがあるんだったら 24bit と 32bit で
実験して報告してホスィです。あんま変わらん気もするけど。

javagaming.org って Java2D チームの人とか書いてるのか…
しっかし nativeの英語はわからんっす。
辞書に載ってない単語とか、誤字なのか、造語なのか区別つかんし。
0252名前は開発中のものです。02/11/18 08:45ID:???
ベンチとって見ました。
@newPixcelsをひたすら1000回やった場合のスピード
A表示しながらテスト。
B表示しながら、gc。
◆32bit 640x480
MS @5958ms,A66.6fps
131 @6829ms,A?すぐ遅くなる
140 @5458ms,A47.6fps(しばらくすると遅くなる)
141 @5358ms,A43.5fps(しばらくすると遅くなる)
◆24bit 640x480
MS @5748ms,A最大66.6fps
131 @6449ms,A最大62.5fps(しばらくすると遅くなる)
140 @5408ms,A最大41.6fps(しばらくすると遅くなる)
141 @5588ms,A最大50fps(しばらくすると遅くなる)
◆パラメータなし
MS @15642ms,A62.5fps
131 @18206ms,A50.0fps(カクカク)
140 @5428ms,A55.5fps(カクカク)
141 @5428ms,A83.5fps(カクカク)

24bitが速そう。
ウェイトなしでぶん回してしばらくたつと遅くなってしまうので、
sleepをかませないとうまく行かないようだ。
どうして、sleepを入れないといけないのかはわからない。
謎が多いなぁ。
0253名前は開発中のものです。02/11/18 09:53ID:???
>>252
ご苦労様です。
0254名前は開発中のものです。02/11/18 14:35ID:???
謎がある程度、解けてぶん回しても大丈夫になりました。
◆問題点
@MemoryImageSource#newPixcels()等を使うと、ImageObserver#imageUpdate()が呼ばれupdateが呼ばれてしまう。
 createImageでAppletをImageObserverに指定しているので、update()、paint()と呼ばれてしまうので無駄に処理が走る。
Asleep無しでぶん回すとrepaint()を呼ぶrun()とpaint()で同期を取っていないので
 paintでimageアクセス中にrun内でimageに追いついて衝突するため、カクカクしたり、止まったりしていた。
◆解決方法
@は、imageUpdate()をオーバーライドし何も処理しないようにする。
Aは、同期を取るか、getGraphicsメソッドで、Graphicsオブジェクトを取得し直接アプレットに描画する。
 前者は、デッドロックの可能性があるので注意が必要。
 後者は、update,paintを呼ばれたときに、何もしないようにするのがよいが、fpsが遅い場合に、他のウィンドウを
 上に乗せた場合に気になる。
0255あぼーんNGNG
あぼーん
0256名前は開発中のものです。02/11/18 21:46ID:???
GUI的なアーキテクチャとゲーム的なアーキテクチャはやっぱり合わないんだなー。
Javaももうちょっとそういう部分を支援すべきかもね。
0257名前は開発中のものです。02/11/19 01:12ID:???
>>256
あわないんだよなぁ。
今流行のSWTなんてGUIに偏りまくってて、ゲームに応用するの辛いんだ。
なんせピクセルの論理演算さえできないという。アルファブレンドはできるのに。
0258名前は開発中のものです。02/11/19 01:50ID:???
色と画像を掛け算しながら描画できないのが痛い・・・
0259あぼーんNGNG
あぼーん
0260名前は開発中のものです。02/11/19 03:44ID:???
>>257
Java でゲームすんだったら素直に AWT & Java3D にしとけば…
0261あぼーんNGNG
あぼーん
0262名前は開発中のものです。02/11/19 08:30ID:???
お前ら、文句ばっかり言ってないで手を動かせよ
たまにはデモ見て精進汁!
http://www.komplex.org/java.html
0263名前は開発中のものです。02/11/19 15:00ID:???
>>262
何年前のデモですか… 見飽きたよ。
0264あぼーんNGNG
あぼーん
0265名前は開発中のものです。02/11/19 16:17ID:???
というか、画像読み込みまわりが嫌い。スレッドとコールバック前提だし。
まぁ、Webに適合させるためにああなったのは分からないでもないけど、
ゲームにはあわないよなぁ。

それ以外は、GUI部品使わなければいいだけなので、気にならないな。
全画面表示も出来るようになったし。
0266名前は開発中のものです。02/11/19 16:50ID:???
Observerパターンを嬉々として使ってるImageクラスっすか。
正直、あれは俺も余計なお世話だと思う。
0267あぼーんNGNG
あぼーん
0268名前は開発中のものです。02/11/19 23:04ID:???
>>265
1.4からImageIOてのが付いて、同期方式になりやした。
確かに余計なお世話多すぎだね。
0269あぼーんNGNG
あぼーん
0270名前は開発中のものです。02/11/25 21:21ID:MzAMlQtU
アプレットだと、Javaなのに、XMLが使えない。
Flashだと、普通にXML使えるのに、、、。
と、思いチッコイxmlパーサ探したら、kxmlってのがありました。
http://kxml.enhydra.org/
これで、必要なところだけjarに入れて使えば、問題なくxmlが使えるし、
そんなにでかくないし、日本語化けないし、いい感じ。
0271あぼーんNGNG
あぼーん
0272名前は開発中のものです。03/02/21 09:17ID:PTBH3u8F
>>6
超亀レスだけど、凄いな・・・
こんなのJavaでも作れるのか・・・
これってOpenGLをつかってるの?
Java3Dなわけないよね、こんなに軽いんだし。
0273名前は開発中のものです。03/02/21 09:20ID:uZqnzI2f
http://homepage3.nifty.com/digikei/ten.html
( ´_ゝ`)
0274名前は開発中のものです。03/02/21 09:35ID:ugkqy7rq
http://www.agemasukudasai.com/bloom/
0275名前は開発中のものです。03/02/21 09:42ID:eCjWRLRD
>>272
なにげに舞えやったときよりバージョンアップしてる気が?
路面のレンダリングが問題だね。1行づつコピーしてるのかな?
0276名前は開発中のものです。03/02/21 13:44ID:runOoWla
            o.
            /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ /
           /   このスレは無様に .  /
           /  終了いたしました    /
          / ありがとうございました  /
          /                /
         /    モララーより     /
         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄/
  ∧_∧  /                /∧_∧
 ( ・∀・) /                /(・∀・ )
 (    )つ               ⊂(    )
 | | |                   | | |
 (__)_)                  (_(__)
0277名前は開発中のものです。03/05/21 20:23ID:Xr9rJYyQ
てts
0278名前は開発中のものです。03/06/20 23:54ID:DeguR1Lj
MSVMってもう完全に抹殺されたんかいな。

今年に入ってからの動向全然知らずに、一般人向けのアプレットゲーム作ってた。
そういやMSVMで動作確認してないなと思ってMSのサイト行ったらどこにもねえ。
Windows Updateにもねえ。ダウンロードでけへんがな。

とほほ、Flashで作り直すべ。
0279名前は開発中のものです。03/06/27 14:15ID:8I/cjQFx
MSJVM は新規ダウンロードできなくなったみたいね。

来年一月だったかでセキュリティホールに対する修正も出来なくなるとかで、
そのうち WindowsUpdate で MSJVM 削除するようになるかもしれないってさ。
0280名前は開発中のものです。03/07/02 12:15ID:/h88Q6Sl
Sunのを入れれ。
0281Homa03/10/02 16:31ID:MRWcIN/e
http://kutipatti.fc2web.com/index.html
上記のサイトを作ってみた。
ゲーム製作や、基礎講座等色々あるからドンドン活用してくだされ。
0282名前は開発中のものです。03/10/05 13:10ID:nWzLeATY
何もないじゃん。
0283名前は開発中のものです。03/10/13 18:41ID:Fi8p2+E6
誰か一緒に先行者ゲームに似たゲーム作らない?
先行者をギコに見立てて、ギコパロの先行者ゲーム版みたいな感じでさ
0284名前は開発中のものです。03/10/13 18:50ID:eiZ2Znq9
Javaアプレットで?
0285名前は開発中のものです。03/10/13 21:03ID:vAaZAwR4
× 一緒に作らない?
○ 作ってくれ。
0286名前は開発中のものです。03/10/13 23:20ID:Fi8p2+E6
アプレットでイインジャナイ?
0287名前は開発中のものです。03/10/15 02:02ID:384+STG0
ここはどうよ?
http://www.din.or.jp/~null/game/rpg/
0288名前は開発中のものです。03/10/15 08:40ID:1SM2wGBr
>>287
お、結構すごい。ちゃんと3Dなんだ。。。
0289名前は開発中のものです。03/10/22 13:14ID:AqHNgwI1
Java3Dでゲームを作りたいんですが、ひな形を教えてもらえませんか?
メインループとキー入力、描画処理といったところの書き方が、
よく分かりません。お願いします。
0290名前は開発中のものです。03/10/24 23:56ID:CUmyDoVD
Java3Dなんか使ったら一般ユーザが実行環境用意できないんじゃ…
ところでこいつの開発を再開して欲しい。
http://www.geocities.co.jp/SiliconValley-Sunnyvale/6003/ura/buster1/index.html
0291名前は開発中のものです。03/11/25 02:33ID:bFC0Dkpb
誰か、>>287の最強のデータとか持ってないか?
0292名前は開発中のものです。03/12/24 23:12ID:JEiw4c+Q
誰か凄いの紹介してくれよ。
0293名前は開発中のものです。04/01/16 02:00ID:IBnrTlSi
かなり重めだけど、
http://ikebukuro.cool.ne.jp/javacman/main.htm
0294名前は開発中のものです。04/01/16 17:03ID:OpJhtAPE
フライトシミュレータって操作むずいんだよな。
0295名前は開発中のものです。04/01/17 00:56ID:/8vojqoK
3Dだから限界って訳ではないけど、
http://www.benricute.com/game/index.htm
にも3Dのゲームが
0296名前は開発中のものです。04/01/17 02:21ID:6ai+veDu
作るならアプレットより
アプリケーションで作った方がいいよ。

0297名前は開発中のものです。04/01/18 00:05ID:R2AUtvDl
>>295
ちょっと面白いかも。
ここってオリジナルのゲームなんでしょ?
なのに、フリーで出まわってるゲームも置いてるなんて、なんだかなぁ。
0298JAVA初心者・・・04/01/19 04:41ID:7ZOz3AkQ
はじめまして!!
今宝探しゲーム作っているのですがどなたか参考になるソースもってませんか?
目標はFF9のミニゲームだった「ここほれ!チョコボ」です。
どなたかご協力お願いします<(_ _)>
0299名前は開発中のものです。04/01/19 15:27ID:snVCA4Sa
>>298
スレ立てといてなんでここで聞いてるんだよ
0300名前は開発中のものです。04/01/21 00:26ID:j6QTKwUD
海外のサイトだけど、
http://www.javagameplay.com/games.html
とか。
あまり面白くはないけど、すげーなと思う。
0301名前は開発中のものです。04/01/21 02:01ID:JJmOkv2J
漏れも海外のサイト紹介しちゃうぞ
http://www.classicgaming.com/jmsxemu/
0302名前は開発中のものです。04/01/21 09:01ID:j6QTKwUD
紹介されているページを見る限りでは、
グラフィックスに関してはほぼ何でも出来るが、
音まわりの処理が苦しい?
0303名前は開発中のものです。04/01/22 21:10ID:sEG1ecAb
http://www1.jawink.ne.jp/koji-y/

既にでてるかな?
0304名前は開発中のものです。04/01/23 01:56ID:hxTgIGSZ
何回かチャレンジしたけど、
ヘリも飛行機も操縦がムズ過ぎ。速いマシンほど速く動いてる?
もっと簡単だったら楽しいような…

じゃ、更に追加で、
http://www2.odn.ne.jp/~cdh88520/pfsa_top.html
同じサイト内だけど、
http://www2.odn.ne.jp/~cdh88520/starship_battle_shimulator_top.html
も。
下のは複雑すぎでした…
0305名前は開発中のものです。04/01/25 01:26ID:hok/ATwA
このすれっどをみて
ぼくは
じゃばよりふらっしゅのほうがいいんだなと
おもいました。
0306名前は開発中のものです。04/02/10 01:23ID:roXOg29f
>>305
そう思ったなら多分それが正解。
適材適所。
0307名前は開発中のものです。04/05/12 17:29ID:+KwjynEM
http://www15.tok2.com/home/sitappa/java/runner/exrunner.html
0308名前は開発中のものです。04/05/15 11:19ID:atd2UrGF
おお、久しぶりの書き込みだな。
せっかくの書き込みなのにすまないんだが、

>>307
すまん、全然たいしたことない。
ってゆーか、ほとんど正男じゃん。
もっと凄いjavaゲームはないものか。
0309名前は開発中のものです。04/06/07 18:19ID:KZ9AiAg4
ゲームの限界というより作り手の限界…
0310名前は開発中のものです。04/06/21 18:11ID:uNmG74S6

ttp://java.sun.com/j2se/1.4/ja/docs/ja/guide/sound/programmer_guide/contents.html

JAVAサウンドプログラマーズガイド
0311名前は開発中のものです。04/06/21 18:50ID:WQ1GKg6I
>>307のゲームは一体何もどきなんだろう?
0312名前は開発中のものです。04/09/27 00:03:41ID:aLBna6ae
質問です。
Javaアプリでゲーム作ってますが、どうしても逆コンパイルかけられて
ソースを覗かれるのがいやなのです。
何か良い方法はありませんか?
0313名前は開発中のものです。04/09/27 00:41:30ID: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
0314名前は開発中のものです。04/09/27 00:42:36ID:be/ifB4A
マルチだったのか・・・
0315名前は開発中のものです。04/09/27 07:34:52ID:aLBna6ae
>>313
ご親切に、ありがとです。
早速、jargで難読化したり、jodeで逆コンパイルして確かめてみたり
してみました。
・・ん〜、簡単に覗けてしまいました。

根本的な解決方法としては、
>すべてのクラスファイルを独自で暗号化して、
>自前の複合化クラスローダー無しには読み取れなくして、
>そのクラスローダーの使い方を難しく&難読化して、読めなくする
かもしれません。是非、もう少し掘り下げて教えていただきたいです。
0316名前は開発中のものです。04/09/27 07:51:00ID:MzHevRDp
ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/ClassLoader.html
0317名前は開発中のものです。04/09/27 19:28:31ID:n84gmfqB
>>315
jarg で最適化すれば、それなりに読みにくくなっているはず。

難読化ツールは、逆コンパイルを不可能にするんじゃなくて、
逆コンパイルされても、読みにくくて解読したくなくなるように出来るって事。

昨日言い忘れてたけど、jmangle って難読化ツールもある。 結構、サクッと使えていい感じ。

Jmangle 配布サイト
ttp://www.elegant-software.com/software/jmangle/


> 根本的な解決方法としては、
> > すべてのクラスファイルを独自で暗号化して、
> > 自前の複合化クラスローダー無しには読み取れなくして、
> > そのクラスローダーの使い方を難しく&難読化して、読めなくする
> かもしれません。是非、もう少し掘り下げて教えていただきたいです。

この説明で分からないなら、ちょっと解説に時間がかかりそうだが・・・どうするか・・・
まぁ、自分も近いうちに、これをやってみようと思ってたから、まとめてみるかも。


つーか、マルチ('A`)イクナイ
0318名前は開発中のものです。04/09/30 22:22:50ID:oihGIM+f
やっぱマンドクセ
0319名前は開発中のものです。04/09/30 22:36:30ID:SJALzkxF
Web開発ではやったことあるけど、ゲーム作る程度でやる気ないなぁ。
どうせ、作るつもりないだろうけど。
0320名前は開発中のものです。04/10/02 13:58:02ID:mB8JJc6Y
これが一番手っ取り早いのでは!?
>>http://pc5.2ch.net/test/read.cgi/tech/1060340560/152
03212504/10/03 01:54:29ID:clInMJlt
>>320
JNIか。
確かに手っ取り早いかもしれないけど、ネイティブ 絡むとマンドクセ。


>>315
見てるかどうか知らないけど、まとめてみた。

ttp://potage.s58.xrea.com/wiki/wiki.cgi?page=CipherClassLoader

とりあえず脳内にあるのをメモっただけだから意味不明かもしれないが、まったり考えていく予定。
実際に作るかどうかは分からん。
0322名前は開発中のものです。04/10/03 01:58:11ID:clInMJlt
ぐはぁっ _/\○_
名前が…
032331504/10/03 12:02:03ID:drsRfI5F
>>321
毎日拝見しております・・。
321さんのHP覗いてみたのですが、インスタンスをClassクラスで生成する際の問題は、
newInstanceメソッドで引数なしでnewした後、初期化処理を行うメソッドを呼び出すようにすれば良いかと。
それとも、別のクラスにコンストラクタの引数に渡したいオブジェクトをsetterメソッドで登録しておけば、
引数なしのコンストラクタ内でその値をgetterメソッドで取り出すルールを
設ければうまくいくのではないでしょうか?
暗号化する・しないはクラス設計時に判断しないと無理ですけど。
出来れば、呼び出す側で暗号化ロジックを通す通さないで、ハンドリングできれば
便利で良いのですが。
クラスの直列化や複製もインタフェースをあらかじめ実装しないと
例外が発生するから別に当たり前の実装方法かも。
032431504/10/03 12:32:06ID:drsRfI5F
続き
内部クラスもクラスファイルをロードしないと無理です。
032532104/10/03 13:53:25ID:aFzOfy+1
ってか、シリアライズでちょっと思ったんですけど、
暗号化したいクラス(以下A)のメソッドを定義したインターフェイス(以下AI)を用意して、
A をシリアライズでファイルに書き出して、その時暗号化しとく。

んで、読み込み時に AI にキャストすればソースに手を加えなくても、
なんとかなりそうな気がする。
032632104/10/03 14:37:14ID:t6nSKj1T
なんか思いつきで書き込みしてしまったけど、
本質的なコンストラクタの呼び出しの問題は全く解決してないですね^^;

> newInstanceメソッドで引数なしでnewした後、初期化処理を行うメソッドを呼び出すようにすれば良いかと。
コンストラクタでしか呼べないモノの問題が出てくるのではないでしょうか?(super とか。)

> それとも、別のクラスにコンストラクタの引数に渡したいオブジェクトをsetterメソッドで登録しておけば、
> 引数なしのコンストラクタ内でその値をgetterメソッドで取り出すルールを
> 設ければうまくいくのではないでしょうか?
これなら、いけそうな気がしなくもないですね。
いろいろと面倒な感じになりそうですが、現実的かと。

> 出来れば、呼び出す側で暗号化ロジックを通す通さないで、ハンドリングできれば
> 便利で良いのですが。
暗号化したクラスも、暗号化していないクラスも同じように呼べるって事でしょうか?

> クラスの直列化や複製もインタフェースをあらかじめ実装しないと
> 例外が発生するから別に当たり前の実装方法かも。
頭悪いのでよく理解できません(;´д`)
申し訳ない。

> 内部クラスもクラスファイルをロードしないと無理です。
やはりそうですか・・・


ってか最初、マルチやってたので、ぶっちゃけ見くびってましたが
意外に実力のある方のようでつね。 ごめんなさい&内定ください。(何
032731504/10/03 16:44:18ID:Ab3yDh7p
>>326
> クラスの直列化や複製もインタフェースをあらかじめ実装しないと
> 例外が発生するから別に当たり前の実装方法かも。
説明へたくそですみません。
クラスをシリアライズする時、Serializableインタフェースが実装していないと
NotSerializableException例外が発生。
複製するときも、Cloneableインタフェースを実装していないと、
CloneNotSupportedException例外が発生。
なので、暗号化させたいクラスにも暗号化に必要なメソッドや変数を定義してある
暗号化インタフェースを実装していないと
"暗号化インタフェースが見つからない"例外を発生させて、
コンパイル時に開発者に警告をうながす事も使いづらいの反面
合理的なのかなと思ったわけです。
032832104/10/03 18:19:21ID:l36e1OTn
>>327
なるほどなるほど。そういう意味でしたか ^^;
しかし、そうなると疑問なのは、実装どうなるのかなぁ?と。

自分の中では、

・クラスファイルをデコンパイルさせたくないぜ。
・専用クラスローダーでしか読めなくすればいい。
・コンストラクタの呼び方が面倒になっちゃった。
・暗号化対応ソース自動変換ツールで、暗号化を意識しなくても大丈夫なシステムを!
・自動置き換えの、置き換え方を考えるぞ〜

って流れなので。

暗号化インターフェイスで暗号化を制御するとなると、実装はどうなるんだろう?って思うわけです。
暗号化インターフェイスを実装していたら、暗号化する?
暗号化するのは誰?
com.sun.tools.javac.main.Main を使って自力で暗号化コンパイラを作る?

みたいな。
0329名前は開発中のものです。04/10/05 00:20:10ID:vzG1Y+sw
>>328
その前に一つ問題があるのですが、独自で実装したクラスが独自で実装した
インタフェースをimplementsしていた場合、どうやってクラスオブジェクトを
ClassLoaderから取得できるのでしょうか?
インタフェースだけならClassオブジェクトを取得出来るのですが、
インタフェースを実装したクラスの場合では、NoClassDefFoundError例外が発生します。
■ このスレッドは過去ログ倉庫に格納されています