iモード携帯電話用Jav ..
[2ch|▼Menu]
462:デフォルトの名無しさん
07/05/28 10:49:55
便乗ズレ質問お願いします。

getWidth()/2とgetHeight()/2でスクリーンの中心(点o)を取った場合についてです。
fillPolygonで点oを中心とした図形(直線や多角形)を使って描いた場合と
画像(imgA)を点oから横方向にimgA.getWidth()/2、縦方向にimgA.getHeight()/2だけマイナスして配置した場合とでは
実機で表示すると中心が縦方向にズレてしまいます。
これを回避する方法はあるんでしょうか?
環境はDoJa3.0で、エミュでは中心がズレることなくきちんと表示されています。

463:デフォルトの名無しさん
07/05/28 11:04:35
単純にどの機種か分からんけど実機の仕様という気がする。

464:462
07/05/28 11:14:14
>>463
レスありがとうございます。
試した機種は手元にあるP505iのみです。
検索しても同種の問題はヒットしないので困っていましたが
仕様であれば、何とも仕様がないですね(シャレではなく)。

465:デフォルトの名無しさん
07/05/28 12:13:00
動画なし3gpを再生するのってどーすればいんですか?
VisualPresenterPanelクラスを使っていけばいいのでしょうか?

教えてくださいお願いします。




466:デフォルトの名無しさん
07/05/28 19:08:33
ためせばわかる

467:デフォルトの名無しさん
07/05/28 21:50:57
>462
単純に、実機とエミュレータでgetHeight()の値が違うだじゃないか?
エミュレータのコンフィグファイルで画面サイズを実機と同じにしてやれば
意図通りの位置に表示されるはず。

468:467
07/05/28 21:53:44
画面の中心に画像を表示したい、ってだけなら
x = (getWidth() - imgA.getWidth()) / 2;
y = (getHeight() - imgA.getHeight()) / 2;
g.drawImage(imgA, x, y);
で済む話だけど。

469:デフォルトの名無しさん
07/05/28 21:53:59
と言うかセンタリングとかさせてないの?
画面サイズがばらばらな実機達なのに座標0.0に描画?
俺の読み間違えかな・・・

470:デフォルトの名無しさん
07/05/29 00:52:25
>459

文字の座標って、Y軸が文字の底辺なんですよ。
だから0,0だと0,−16に表示されてるように見えてしまうんです。



471:462
07/05/29 14:05:40
>>467-468
レスありがとうございます!助かりました。
>エミュレータのコンフィグファイルで画面サイズを実機と同じにしてやれば
>意図通りの位置に表示されるはず。
まさにその通りでした!画面サイズの調整できちんと表示されるようになりました。
ただ、
>単純に、実機とエミュレータでgetHeight()の値が違うだけじゃないか?
とすると、例えば、画面の中心でなくとも
g.drawString("A",100,100);
g.drawImage(imgA, 100, 100);
とした場合、もしズレが生じるのであればフォント「A」とimgAは同時にズレるのではないのでしょうか?
今回おかしいなと思ったのは、imgAは本来のx=100,y=100の位置から表示されるのに、
フォント「A」は通常よりも縦方向にだけマイナスの位置から表示されてしまうからです。
もちろんこれも画面サイズを合わせれば解決しましたが、ちょっと腑に落ちないんですよね。

472:462
07/05/29 14:12:12
と思ったら、文字に関しては>>470
>文字の座標って、Y軸が文字の底辺なんですよ。
で解決かも。
画像は左上から描写されるのに対して、(機種によっては?)文字列は左下から描写されるから
文字だけ縦方向にズレが生じたように見えるんですかね。
でも、fillPolygonで図形を描写する際も縦方向にズレるのはなぜなんだろうか・・・。

>>469
fillPolygonで描写と図形と
同じような図形のGIFイメージとをセンタリングで配置したのに
fillPolygonで描写した図形だけが縦方向にズレるのはなぜ?という質問でした。

473:デフォルトの名無しさん
07/05/30 12:30:24
DoJa4.0以降の3Dアプリ制作を始めたところですが、固定少数でやるべきか、
浮動少数でやるべきか悩んでいます。 901i以降の端末がハードウェアで
浮動少数演算と、またGPU(もどき?)で4x4行列によるベクトルの変換を
サポートしているなら浮動少数にしようかと思うのですが、現状、ハードウェアの
サポートはどういう感じでしょうか?またそういうスペック的な情報のある
サイト等ありましたら教えてください。


474:デフォルトの名無しさん
07/05/30 17:35:44
ダウンロードしたiアプリを起動してる時って通信料とられてますか?

475:デフォルトの名無しさん
07/05/30 18:05:25
もう少しアプリよりの話をよろ

476:デフォルトの名無しさん
07/05/30 18:37:01
がっぽりととられてますよ


477:デフォルトの名無しさん
07/05/30 18:41:29
と言うか「起動してる時」の条件が不明すぎる。
起動時に通信してるかどうかくらい分かるだろうに。

478:デフォルトの名無しさん
07/05/30 19:00:41
じゃあ点滅してないからとられてないんだ

479:デフォルトの名無しさん
07/05/30 19:20:33
>>466
さっそく試してみた。
なんかプレイヤーみたいのが出てきて再生は出来ました。
が、
アプリのBGMとして再生したのですが、どうしたらいいでしょうか?
アプリを起動しながら、BGMとして動画なし3gpを再生する方法を
ご存知でしたら教えてください。

480:デフォルトの名無しさん
07/05/31 08:31:23
無理

481:デフォルトの名無しさん
07/05/31 10:51:04
>>473 com.nttdocomo.ui.util3d.FastMathというのが存在しますが、
FastMathと比較して何かベターなものはあるか、という質問でしょうか?

482:デフォルトの名無しさん
07/05/31 21:10:23
現在iモードで3Dのプログラムうをしているのですが、
Doja5.0に減算処理はないのですか?
加算はありました。


483:デフォルトの名無しさん
07/05/31 21:25:34
>>482
よ〜し特別に答えちゃうぞ〜







『何を』減算するのかくらい書けませんか?
それともエスパーの降臨をお待ち?もしそうだったらごめんなさい。

484:デフォルトの名無しさん
07/05/31 22:33:07
>>483
煙等の表現に3Dオブジェクトの減算合成をしたいのですが、
ブレンドモードにNORMAL・ALPHA・ADDの3種類しか見当りませんでした。
プリミティブのポイントスプライト等で使用できればと思ったのですが…。
と思いつつ調べているとオプションAPIリファレンスに減算合成ができるような事が書いてありました。
こちらでもd4dの表示ができるのかわかりませんが、一回やってみようと思います。


485:デフォルトの名無しさん
07/05/31 22:44:58
>>484
マスコットカプセルの方かな?それなら無理
API側で無い場合は、対象範囲を白黒反転させて加算合成、もう一度白黒反転で
元に戻すとかやったりするもんなんだが、反転処理も無いから無理だな
OpenGL側ならブレンドモードで反転設定できるから、それ使えって意味なのかもしれんよ

煙なら薄いのから濃いのまでテクスチャ描いて通常アルファブレンドでもいいと思うぞ

486:デフォルトの名無しさん
07/05/31 22:54:45
>>484
オプションAPIの3DはDoJa3.5以前(MascotCapsule v3)との互換のために残されているものであって
まぜて使ったらだめだよ。

487:484
07/06/01 01:23:36
>>485
>>486
ありがとうございます。
とりあえず通常アルファブレンドでやってみようと思います。
拡張APIの3Dを同時に使用できるのか少し疑問だったので助かりました。
OpenGLの方も少し資料を探してみようと思います。


488:デフォルトの名無しさん
07/06/01 12:26:39
Graphics3Dとか、FastMath辺りって糞設計ですな。こんな糞設計はRenderer関係では過去に見たことがないです。
言い出したらきりないけど、いちいちパラメータをfloat->fixedに変換して計算したりとか、んだったら最初っから固定少数でやれって話しだし。
だいたい、12ビット固定少数って三角関数を表すには不十分な精度。三角関数だけ下駄はかせるのか?
テクスチャー座標もなんで[0,1.0]に正規化しないの? どんな糞サンプリングアルゴリズムか知らないけどさ、正規化しないならなんのためにテクスチャサイズが2の累乗なんだよ。意味ねーじゃん。マジ使いにくいよこれ。
トレステッドアプリしかOpenGLESを使わせてくれないってのは、これを使えってことで、これを使えってことは死ねってことだよなw


489:デフォルトの名無しさん
07/06/01 13:06:51
>>488
正しいことやりたきゃ、偉くなれ


490:デフォルトの名無しさん
07/06/01 13:44:38
今作っているアクションゲームが重いので相談したところ、
描画に paint を使用するのをやめると、
軽くなるかもというアドバイスを受けたんですが、どの程度効果があるものなのでしょうか

491:デフォルトの名無しさん
07/06/01 13:50:35
>>490
やってみろ。


492:デフォルトの名無しさん
07/06/01 14:09:07
>>491
ですね、もっともです。
が、やるのはいいんですが、もうほとんど完成しちまってるんで、
改造に時間かかりそうなんですよね
それがほんとに効果があるのか疑問だって言う人もいるんで、
処理を見直していって軽くするのとどっちがいいかと

493:デフォルトの名無しさん
07/06/01 14:40:49
専らlock-描画-unlockループで
paint()の中に何か書いたことなんてないや。

494:デフォルトの名無しさん
07/06/01 15:16:53
いったいどんなソースなら変更に時間がかかるのか(´・ω・`)
・・・・・あんなか('A`)

495:デフォルトの名無しさん
07/06/01 15:46:28
>>488
俺も個人で作ってるけど、
嘆いててもしょうがないので、その場その場でベストになるようにがんがってる。

TEXTUREが絶対座標ってのが痛いね。これ辞めてくれるだけでだいぶ楽になるんだけど…

496:デフォルトの名無しさん
07/06/01 17:55:34
まだまだあるぞ。FastMathがかんたんに、しかも何も言わずにオーバーフローするとか、
Textureに指定できるのが256色bmpだけとか

497:デフォルトの名無しさん
07/06/01 21:02:18
>>492
メインループ内からrepaint()を繰り返し呼び出してるのかな?
getGraphics()したGraphicsオブジェクトを使いまわすほうが速いと思うが、
現状の重さがどの程度かわからないので答えようがない。

498:デフォルトの名無しさん
07/06/01 23:25:56
>>491
別に今あるのを改造せんでも、確認のためだけなら適当に比較アプリ
つくりゃいいんじゃないの

499:デフォルトの名無しさん
07/06/02 06:51:22
>>488はケータイに何を求めてるんだw

500:デフォルトの名無しさん
07/06/02 07:42:18
なんでOpenGLESを勝手アプリで使わせてくれないんだろう?
C言語相当のメモリアクセスができるメソッドがあるから?

501:デフォルトの名無しさん
07/06/02 10:45:41
公式の立場がなくなるからではw

502:デフォルトの名無しさん
07/06/02 13:25:50
だが、公式CPもメガアプリのみでペイできるような企画など中々立たないので結局使わない。
まったく持ち腐れだ。

503:デフォルトの名無しさん
07/06/02 14:44:26
そういうところから反撃をはじめてみるというのはどうだろうか

504:デフォルトの名無しさん
07/06/02 22:51:48
描画処理が重いのであればpaint内に書くよりも
getGraphics()で取得したものに描画する方が速度が向上する


505:デフォルトの名無しさん
07/06/03 19:55:25
Javaもi-appliも初めてなので、右も左も分からないのですが、
ArrayListとかって使えないものなんですか?
可変の配列を使いたいだけなのですが、Nodeを加えるごとに
配列を作り直すとかしたくないのですが、定石とか教えてください。

506:デフォルトの名無しさん
07/06/03 20:17:45
定石は「使えるか分からない物は使わなくても別の方法で結構実装できる」かな。

507:デフォルトの名無しさん
07/06/03 20:22:43
それは自前で双方向リストとか作るのが吉ということですか?

508:デフォルトの名無しさん
07/06/03 20:28:00
ここにCLDCのリファレンスがあるから見れ。
URLリンク(java.sun.com)

最近のならだいたいMIDP2.0でCLDC1.1の奴が使えるとかいう話。
使いたいのが無かったら自作。

509:デフォルトの名無しさん
07/06/03 20:32:45
>>508
ありがとうございます。
勉強してまいります。

510:デフォルトの名無しさん
07/06/03 21:32:36
>>505
Vector

511:デフォルトの名無しさん
07/06/03 22:14:04
>505
使えないものなんですか?じゃなくてさ、
わかんなかったら「Java 可変長配列」とかググるくらいしようよ。

>>510が教えてくれてるVectorクラスのこととか、
Javaの説明サイトとか見付かるんだからさ。

512:デフォルトの名無しさん
07/06/03 22:35:24
ArrayListって1ノード加える毎に配列作り直してるのか?
そんな効率悪いことしてる?
普通プールしてると思うけどなぁ


513:デフォルトの名無しさん
07/06/03 23:23:35
iアプリを作成しはじめたばかりのものです。

上のほうで、paint() メソッドでは何もしなくていいような書き込みがあるのですが、
Windowsアプリでいう WM_PAINT のようなものとは本質的に異なるのでしょうか?

例えば、端末が閉じられたときや、何らかの別画面が表示された後に、失われた部分を
再描画するのにpaintメソッドが呼ばれると思っていたのですが、paintメソッドを無視して
いいということは、画面の内容は常に保持されていて、一度描いた内容はアプリ側で画
面を描きかえなければ、消えることはないということでしょうか?

514:デフォルトの名無しさん
07/06/03 23:29:35
paint() メソッドでは何もしなくていいんじゃなくて何もしてはいけないんだよ

515:デフォルトの名無しさん
07/06/04 00:26:06
>>513
実際の表示面の内容は保持されないから、再描画する必要はあるよ
またWM_PAINTのようにダーティエリアが設定される事もない
Windowsで言えばメッセージループのアイドルタイミングにあわせて
GetDC - GDIAPI描画する作り方をイメージするのがよいかと
アイドルタイミングで常に画面が更新して、paintでわざわざ描画しないようなもん

516:513
07/06/04 00:49:25
>>515
画面の更新の必要がないときにでも、定期的に別のところで再描画するということだったんですね。
やっと理解することができました。どうも、ありがとうございました。

517:デフォルトの名無しさん
07/06/04 02:13:08
Canvasを使用する場合はpublic void paint(){}がないとエラーが出る
paint()なんて使いたくないからいらないと思っても
組み込まないとエラーが出るからとりあえず入れとくしかない
これはドコモジャバの約束事だからしかたない


518:デフォルトの名無しさん
07/06/04 02:27:07
そもそもMIDP1.0で既に
protected abstract void paint(Graphics g)
だし(´・ω・`)

519:デフォルトの名無しさん
07/06/04 02:40:11
>>517-518
キミ達ちょっと流れとズレてるぞ

520:デフォルトの名無しさん
07/06/04 02:59:51
APIリファレンスを活用できるようになって欲しいという親心?('-'*)

521:デフォルトの名無しさん
07/06/04 11:20:37
904iのオプションAPI対応リストってどっかにないですか?
公式行っても903までの対応状況しかないんだけど。

522:521追記
07/06/04 11:27:07
getAudioTrackPresenter()
使いたいんだけど、904で対応してるキャリア増えてるかなって思って。

手元にはFしかないからわからんのよね・・・

523:デフォルトの名無しさん
07/06/04 14:38:37
Transform#transVectorが容易にオーバーフローするので、ほとほと困っています。
Vector3D v = new Vector3D(128,0,0);
Transform tr = new Transform(); //単位行列
tr.transVector(v,v);
System.out.println(v.getX());
こうすると、正負がひっくり返って-128.0を出力します。
推測するに、transVectorは内部のどこかでaxbxcを単精度で計算しているようです。


524:デフォルトの名無しさん
07/06/04 17:48:19
>>523
TranformってFastMath使ってるよね?
だったら、float値は12ビット固定少数(1:符号, 19:整数部, 12:少数部)に変換されるんじゃない?
それにしても 128.0x4096 = 7+12ビットなので、楽勝なはずだが。



525:デフォルトの名無しさん
07/06/04 18:15:46
そのとおりなんですが、おそらく、内部で3つのFastMath値の積をFastMath精度で計算しているらしく、
計算途中で整数部7bit x 3 = 21bitの値が現れ、それが原因でオーバーフローになる…
と推測したわけです。

526:デフォルトの名無しさん
07/06/04 19:39:02
>>525

うわw そうかもw 
掛け算する場合は、乗数のビット数+被乗数のビット数 <= 32bitでなければならないってことかwダサっw
普通、固定少数の積は 基数のビット幅の倍に拡張して、
return (int32)((int64) a * b >> 小数部ビット数);
とかやるけど、やってないんだw
FastMathとかTransformとかGraphics3Dまわりってどこが書いたの?
何回も言うけどクソ杉。


527:デフォルトの名無しさん
07/06/04 22:04:25
エイチアイはクソ、それを採用したドコモ等もクソ。


528:デフォルトの名無しさん
07/06/04 22:10:33
だからこそのFastMath。

529:デフォルトの名無しさん
07/06/04 23:33:21
iアプリからインターネットランキングに登録したいので
パスワードと得点をURLから送信しようと思ったけど、
それだとアプリを解析されて不正登録ができてしまうと思った。
そこまでして不正登録をする人はいないと思うけど
不正登録のできない得点の送信方法があったら教えてもらえますか?

530:デフォルトの名無しさん
07/06/05 00:28:11
しかしJavaからならFastMathよりfloatで直接計算するほうが速度出る罠(実機確認済)

531:デフォルトの名無しさん
07/06/05 00:54:28
>>529
アプリ自体が解析されるのを懸念するのであれば、何をしても無駄では?
とりあえずそこは置いておいて、アプリからHTTP(?)で送信するデータの
加工等を考えてみたらどうかな。
短めのデータであれば、自分なら復号可能でチェックサム付きの簡単な
暗号化機能を作ると思う。

というか興味あるので識者の意見求む。

532:デフォルトの名無しさん
07/06/05 01:04:51
アプリがPCからダウンロードされるのを防ぐ方法が前に出てたと思う
それを探せば解析される心配はなくなる、たぶん

533:デフォルトの名無しさん
07/06/05 01:09:31
>>529
アプリの解析についてはiモード網内からだけダウンロードを許可にすれば良い。
>>531にある通り、データの加工は必要に応じて自分で検討すれば良し。
通信内容はPOSTでやり取りするべし。
GETだとiモード履歴情報サービスを使われると、通信内容が分かってしまう。
欲を言えばHTTPSだが、そこまで必要ないでしょ。

534:デフォルトの名無しさん
07/06/05 13:11:02
ちょっと漠然とした質問で申し訳ないんですけど、
iアプリからWebサービスを呼び出して利用する事って可能なんでしょうか?

ちょっと試してみようかなと思ったんですが、Dojaの資料を読んでも
どこにも載っていなかったので。。

535:デフォルトの名無しさん
07/06/05 17:31:27
>>534
アプリをダウンロードしたドメイン以外とは通信できなかった気がするので、
アプリのダウンロード元にプロキシCGIを置いておいて、
アプリはそこ経由で通信すると良いんじゃなかったっけっか。

識者フォロー頼む。

536:529
07/06/05 17:55:10
>>531-533
レスありがとうございました。
PCからのダウンロードを禁止する方法を調べてみます。

537:デフォルトの名無しさん
07/06/05 18:11:54
Eclipse(+プラグイン)使って開発してるんだけど、プロジェクトをsubversionで
管理してると、Eclipseからエミュレータ起動したときに、res/ 内の.svn/ まで
突っ込んだjarを作ってくれやがる。
除外設定を色々してみるも変わらず。
どなたか対処法ご存じありません?

538:デフォルトの名無しさん
07/06/05 21:54:26
AudioTrackPresenterで、オーディオトラックのみで
構成された3gpを再生させようとしているのですが、
エミュレータで動作確認したところ、再生しようとした音源とは
異なる音が再生されています。

これはエミュレータだから、音がおかしくなっているんでしょうか?
自分の携帯が902なので実機では確認できないのですが、
何かご存知でしたら教えてください。

539:デフォルトの名無しさん
07/06/06 15:21:55
ソフトキーのラベルって、初期は全角2文字(半角4文字)までが基本だったと思うんですけど、最近のは全角で3文字とか4文字とか入るみたいですね。
そこで、どの機種で何文字まで入れられるか知りたいんですが、どこかまとめてあるサイトなどありませんか?
最悪、どのシリーズ以降は何文字が保証されてるなどの情報でもいいのですが。
どなたか知っていたら教えて下さい。

540:デフォルトの名無しさん
07/06/06 18:27:21
DoJa3.5の機種で3文字だっけ?

541:デフォルトの名無しさん
07/06/06 19:15:48
PanelのアプリでPopupメニューってできるものです?

542:デフォルトの名無しさん
07/06/06 22:01:50
はい

543:デフォルトの名無しさん
07/06/06 22:14:51
数年ぶりに携帯を変えたので、
初めてのiアプリに挑戦しています。
URLリンク(janis.or.jp)

プログラム自体はあらゆる解像度に対応しているため、
F904iの画面を横にすれば快適にプレイできるだろう、と期待していたのですが、
実機で動かしてみると、縦でも横でも240x240の枠の中でしか動きません。

ワイド画面をフルに使うには、特別なAPIが必要なのでしょうか。

544:デフォルトの名無しさん
07/06/06 23:08:27
>>542
まじで?

545:デフォルトの名無しさん
07/06/06 23:49:07
>>543
たしか240x240以上はjamのDrawAreaに直接サイズを指定する必要があったはず。

546:デフォルトの名無しさん
07/06/06 23:50:30
>>543
URLリンク(www.nttdocomo.co.jp)
>※4: ADFのDrawAreaキーに指定がない場合は、描画領域が横240×縦240となります。

547:にくちゃんねる ★
07/06/07 07:32:57
>>545-546
DrawAreaを変更したら一発でうまくいきました。
ありがとうございます。これで快適になりました。

適当に移植してから軽量化を考えようと思っていたのですが
そのままでも十分な速度で動いてしまったので驚いています。

548:デフォルトの名無しさん
07/06/07 08:43:05
パソコンでJAVAやってたんなら画像処理速度は携帯のほうが上でしょうな
画面小さいし常駐ソフトも少ないから当然といえば当然ですが

549:デフォルトの名無しさん
07/06/07 10:13:39
>>547
なんでキャップ??

550:デフォルトの名無しさん
07/06/07 12:47:23
エミュはJava上でJ2ME用インタープリタが走っていていて遅いとかなんとか

551:デフォルトの名無しさん
07/06/07 16:41:03
なるほど。

552:デフォルトの名無しさん
07/06/08 14:42:22
基本的すぎて申し訳ないのだが、iアプリから携帯電話ネイティブの画像ファイルを削除する方法はないよね?
addEntryした画像を削除出来ないのはキツイです ...


553:デフォルトの名無しさん
07/06/08 16:23:33
アプリからネイティブデータ消し放題ってそれ何てマルウェアやねん。
標準機能のカメラにしてもwebブラウザにしても、撮影した画像や
ダウンロードした画像の保存はするけど、削除するのはデータフォルダ
機能からであって、それぞれのアプリケーションではないよね。

554:デフォルトの名無しさん
07/06/08 23:38:15
>addEntryした画像を削除出来ないのはキツイです
これ何で?
わざわざユーザがaddEntryしといて削除するかどうかはユーザが決めることじゃないか
たしかに端末によっちゃ手間がずいぶんかかるやつもあるけどさ

あれか。最近流行りのデータフォルダに偽装してデータを置くとかいう

555:デフォルトの名無しさん
07/06/08 23:44:32
でもあれ一部の端末で無理になったんじゃなかったっけ

556:デフォルトの名無しさん
07/06/08 23:44:53
FastMathとTransformがあまりにクソ仕様で,クソ精度で,クソ遅いので、
すべてのメソッドを自作したら50倍くらい速くなった。エミュ上だけど。
でもGraphics3dのラスタライザ自体がクソなのね。
OpenGL ESを一般公開するか、俺にGraphics3dも書き直させてほしい。


557:デフォルトの名無しさん
07/06/09 00:11:12
エミュ上かよ……。


558:デフォルトの名無しさん
07/06/09 01:35:53
質問があります。
C言語には、void *といったなんでも入る型がありますが、
javaいもこのようななんでも入れられる型はあるのでしょうか?

559:デフォルトの名無しさん
07/06/09 01:37:54
javaいも
って美味しそう

voidはある

560:デフォルトの名無しさん
07/06/09 01:42:42
>>558
つObject

561:558
07/06/09 01:50:00
>>560
こんな便利な型が有ったとは知りませんでした。
有り難うございます。

562:デフォルトの名無しさん
07/06/09 02:02:19
次はメソッドが無くなっちゃったとか言って来そ。

563:デフォルトの名無しさん
07/06/09 02:31:28
ドコモのF901isなんですが無料で遊べるチェスのアプリはないでしょうか?


564:デフォルトの名無しさん
07/06/09 03:19:12
板違い

565:デフォルトの名無しさん
07/06/09 04:12:14
またまたGraphics3dだけど、これzソートかよw
16bit深度バッファで112kb位けちるなよ。
おまけに1モデルあたりのサーフェース数が最大255面って正気?w
Primitiveクラス内部で、int[] vertexBuffer = new int[255*3*3]とかハードコードされてんだw
想定外にボロイんで、俺のバグだと思って悩んじゃったじゃないか。
あと、頂点座標が12bit固定少数扱いされてない気がするんだけど気のせい?
マジで萎えるなこれ。


566:デフォルトの名無しさん
07/06/09 09:19:01
GIFがPNGに比べて容量が大きくなってしまうんですが、
どうにかできないでしょうか。だいたい1、2KBくらいでかくなってしまいます。


567:デフォルトの名無しさん
07/06/09 12:16:02
スレ違いな気がするけど
どうしようもない

568:デフォルトの名無しさん
07/06/09 14:16:57
Jar圧縮しておくと若干縮む場合もあるけど、期待するほどじゃない。

569:デフォルトの名無しさん
07/06/09 14:18:45
>>565
そろそろうざい

570:デフォルトの名無しさん
07/06/09 14:23:40
>>566
1〜2kbが気になって仕方のないサイズであるなら、色数を減らす等の対処をすればいい。
それが嫌ならプログラムを削減すればいい。
それも無理ならどうしようもない。

>>567
iアプリ開発の話だろ。たぶん。

571:デフォルトの名無しさん
07/06/09 15:29:46
画像の色数が多いならJPEGにすれば?
透過できない点に注意が要るけど

572:566
07/06/09 17:03:54
みなさんありがとうございます。
確かによく考えたらスレ違いでした。すいません。
減色とか劣化は試してるんですが、満足行く結果は出ないです。汚いのにPNGと容量一緒とか。
減色ソフトを買ってみます。

573:デフォルトの名無しさん
07/06/09 18:12:18
>>565
頂点バッファサイズというより、インデックスバッファがバイト型で
なおかつ固定番号の処理してるんじゃない?

>>569
俺としては現状の問題点を洗い出すという点で悪くないと思ってる

574:デフォルトの名無しさん
07/06/09 19:22:30
空気嫁てない

575:デフォルトの名無しさん
07/06/09 20:03:43
たぶん君が空気だと思ってるのは君だけだ

576:デフォルトの名無しさん
07/06/09 20:11:29
↓をのっとっちゃえば?
どうせ過疎&糞スレだし。

【日本携帯】Mascot Capsule/Micro3D【標準】
スレリンク(tech板)

577:デフォルトの名無しさん
07/06/10 00:31:29
>>俺としては現状の問題点を洗い出すという点で悪くないと思ってる

御意。
自分が使ってないからって「空気よめてない」とか自己中なことよく言えるよな。
そもそもおまえの空気なんかしらねーよw 興味ないならスルーすりゃいいだろ?
ひょっとして糞クラスライブラリ制作会社関係者?
128.0fでオーバーフローするっていう情報だって、知らなけりゃハマリバグになってたかも。
Graphics3d, FastMath, Transformは糞クラスなので、糞っぷり情報は貴重。


578:デフォルトの名無しさん
07/06/10 01:57:18
>>565
> またまたGraphics3dだけど、これzソートかよw
> 16bit深度バッファで112kb位けちるなよ。

ソフトウェアレンダリングだと大抵Zソートじゃない? 最近だとFlashのPapervision3Dもそうだし。
ZバッファはピクセルごとにCPUが一番嫌がる分岐が必要になるっしょ。

まあ3Dの実装がカスなのには同意するとして、エイチアイに退場願いたければ
ATIやNVIDIAがとっととケータイに食い込んでくれるのを祈るのが一番だろうな。

579:デフォルトの名無しさん
07/06/10 02:43:57
煽り口調を何とかして欲しいと思う。
情報は有難いんだが…

580:デフォルトの名無しさん
07/06/10 04:16:34
もし同じ症状になった人がいれば教えてほしいんですが。。。

Iapplicationの派生とCanvasClass派生とは別にClassを作成して、
そのClassが突然作成不能になっちゃったんです。
解説すると長くなりそうなので簡潔に。

・アプリは起動する
・そのclassのインスタンスを作成したり、staticフィールドにアクセスしようとした瞬間アプリが落ちる
・Throwableで囲んでもキャッチに飛ばない
・ただし落ちるのは900のみ
・もしかしたら900isも落ちるかもしれないけど実機がなくて試してない
・901は大丈夫
・メモリエラーかとも思ったが、同じメモリの機種でも900じゃなければ大丈夫

Javaってエラーキャッチできないこともあるんですね。。。

581:デフォルトの名無しさん
07/06/10 04:22:20
背面カリング無い方が萎える。

582:デフォルトの名無しさん
07/06/10 10:51:02
>>580
VMが落ちたらcatchできない
JavaでもPHPでもPerlでも同じ

583:デフォルトの名無しさん
07/06/10 11:12:53
>>580
その別のクラスってなに?
そのクラスのコードは、その携帯電話の中に本当に存在してるの?
症状からNoClassDefFoundErrorな気がするんだけど。

584:デフォルトの名無しさん
07/06/10 11:28:29
>>580
>>583の指摘を具体的に言うと、900はCLDC1.0、901以降はCLDC1.1で違うってこと。
その独自クラス、例えば浮動小数点使ってたりしないか?
DoJa-3.5用(900用)のエミュレータで動かしてみると原因がわかるかもしれない。

585:デフォルトの名無しさん
07/06/10 13:30:50
すいません。 誰か教えてください。


DoJa-3.5用(900用)のエミュレータを使ってHelloWorldを出すという、初歩の初歩でつまずいてるのですが、ビルドを実行すると

javac:ターゲットリリース1.1がデフォルトのソースリリース1.5と競合しています。

とでて、ビルドが失敗してしまいます。
どうすればよいのでしょうか? Javaスレの神様どうかお教えください。お願いします。 

586:デフォルトの名無しさん
07/06/10 13:43:13
マルチ乙
スレリンク(tech板:378番)


587:デフォルトの名無しさん
07/06/10 15:37:44
>>580さん
>>583さん

本当にありがとうございます。。。
動きました。
原因は浮動小数点でした。。。
Dojaのターゲットプロファイルを3.5まで下げてコンパイルして
何もでなかったので安心してました。。。

そういえば小数点使えるじゃんとか昔に調子乗って作って、
途中から900対応にしたので忘れてました。。。
出直してきます。。。

ありがとうございました!!!!!!!

588:デフォルトの名無しさん
07/06/10 15:39:51
…そして、レス番号も間違えてしまいました。
>>583さん
>>584さん

でした。
ご無礼お許しください。

589:552
07/06/11 11:46:46
>553
>554

業務アプリで、1日辺り数十枚の写真を取り貯めしてセンタへ一括送信するってのを作った。
その際、スクラッチパッドはデータが一杯なのでネイティブ領域に撮った写真を保存してた。

携帯電話の機種によっては、iアプリで撮った写真は専用のフォルダに入れるくらいだから、
iアプリが自分で保存したエントリィぐらい削除できても良いのに、ってチラ裏ですまん ...

やっぱ、普通に考えても削除はまずいよな ...

590:デフォルトの名無しさん
07/06/13 00:23:21
graphics3dなんだけど、こうやって↓ビットORして使う定数なのに,
Primitive.NORMAL_PER_FACE | Primitive.TEXTURE_COORD_PER_VERTEX
排他的に使う以下の定数が、
NORMAL_PER_FACE = 3
NORMAL_PER_VERTEX = 2
と、3, 2で定義されているってどういうつもり? 普通、2^n数列だろうが。
両方同時に指定された場合を考えてるのか?ならその場合、throwすべきだろ。


591:デフォルトの名無しさん
07/06/13 00:25:31
ヒント:ビット節約

592:デフォルトの名無しさん
07/06/13 11:32:21
つまりNORMAL_PER_FACEのときはビット1が必須だってことだろ

593:デフォルトの名無しさん
07/06/13 11:55:23
NORMAL_PER_FACE と
NORMAL_PER_VERTEX は同時に指定しないだろ・・

594:デフォルトの名無しさん
07/06/13 12:44:16
排他的だから 2と3なんだろ。
2と4だったら、排他的な関係とはいえないだろ。



595:デフォルトの名無しさん
07/06/13 13:05:52
愚痴ばっかり書くから…

596:デフォルトの名無しさん
07/06/13 21:33:49
携帯ではArrayListって使えないんですか?
どうやっても上手くいかないのはなぜなんだろう?
絶対出来ないのなら、リンクリストみたいなのを自分で作ろうと思うのですが……。

明日までに仕上げたいものなので、出来れば早めのレスをよろしくお願いします。

597:デフォルトの名無しさん
07/06/13 22:07:37
>>596
少なくともCLDC1.0には無いみたいね。
APIリファレンスぐらい見ようよ。
Vectorならあるけど駄目?

598:デフォルトの名無しさん
07/06/13 22:11:56
Vectorがありましたね……すいません。
もうちょっと調べればよかったです。
ご迷惑をおかけしました。

599:デフォルトの名無しさん
07/06/13 23:23:16
>>594

よく読め。
>>両方同時に指定された場合を考えてるのか?ならその場合、throwすべきだろ。

だからさ、そのNORMAL_PER_FACE とNORMAL_PER_VERTEXをユーザー側で利用する場合を考えてみ。
そのPrimitiveが 面毎法線なのか、頂点毎法線なのか調べるのに、
flags & NORMAL_PER_FACE ってやるだろ普通だったら。
なぜなら、ビットORして使用するような定数列の場合、2^nで定義するって<常識>だから。
その定数が幾つで定義されているかなんか知る必要がないの普通は。


600:デフォルトの名無しさん
07/06/13 23:25:55
ところが、このクソライブラリの場合、
まず、System.out.println()で、NORMAL_PER_FACEとNORMAL_PER_VERTEXの値が
それぞれ幾つなのか調べる。2^n列で無いことを発見。
((flag & (NORMAL_PER_FACE | NORMAL_PER_VERTEX) ) == NORMAL_PER_FACE )
で、やっと動作。



601:デフォルトの名無しさん
07/06/13 23:31:35
しかもなにこのラスタライザ。クソ遅いし。
おれのBREW2.1対応のポリゴンラスタライザ(任意矩形クリッピング+テクスチャマッピング+
パースペクティブコレクション+Gouraudシェーディング+カラーモジュレーション)
の5倍以上遅い。俺のはサンプラーとスキャンライン周りはアセンブリで書いているものの、
graphics3dもラスタライザ自体はネイティブだろうから、BREWとさほど変わらないはず。


602:デフォルトの名無しさん
07/06/13 23:35:08
>>599
内部動作とリンクしてるフラグ指定なら常識ともかぎらんよ
たとえば下位ビットは法線があるかどうか、上位ビットは面毎か頂点毎か
という意味で処理してんなら2と3が指定されてるのは自然だ
そして法線が無い場合は0というのも納得がいく

まあカラー指定のビットの方はそうはなってないんだけどな・・

603:デフォルトの名無しさん
07/06/13 23:42:50
>>602
いや、いいほうに解釈しすぎ。
だから、ユーザーからするとそれぞれの値は基本的に見えないんだよ?
ノーマルがあるかどうかを調べたいならそれこそ(flags & (PER_VERTEX| PER_FACE))
って"やるべき"。こんなの基本中の基本だって。社内ライブラリならどうぞご勝手にって感じだけどね。



604:デフォルトの名無しさん
07/06/14 00:01:53
graphics3dではテクスチャサイズが正方2^n指定なのに、なんでテクスチャサイズの値域
(サイズが128x128だったら、[0,...,127])でUV指定するんでしょうか?許せません。
ちなみにおれのラスタライザはOpenGL|ESと同じ1:15:16の固定少数フォーマットだけど、
テクスチャ座標はちゃんと、[0.0,...,1.0]([0,...,0x10000])に正規化してます。
テクスチャサイズを2^nに決めているので、パフォーマンスのペナルティないんで。
あと、テクスチャーサンプラーでは乗除算を一切使ってません。


605:デフォルトの名無しさん
07/06/14 00:07:13
>>603
APIリファレンスに値書いてあるとおもうけど。
わざわざprintlnしたの?w

606:デフォルトの名無しさん
07/06/14 00:12:53
>>581
凸包モデルしかテストしてなかったので、バックフェイス刈らないって気付かなかったw
マジで? どういうつもり? 渡された頂点列を、World->View変換後に外積計算して
外積のz成分の符号を見るか、もしくはWorld変換後、視線ベクトルとの内積の符号を見れば
裏か表か判るんですが。。。やり方判ったら、そんぐらいやってもらえませんか?
だめだこりゃ。。。orz
docomoさま、OpenGL|ESを一般公開してください。



607:デフォルトの名無しさん
07/06/14 00:13:43
>>605
うん。

608:デフォルトの名無しさん
07/06/14 00:23:24
具体的には、頂点座標v1, v2, v3の順に渡されたとし、
World->View変換後の頂点座標をv''1, v''2, v''3とすると、
O = (v''2-v''1)X(v''3-v''1) Sign( O.z )が視点に対する面の向き。
また、World変換後の頂点座標をv'1, v'2, v'3とし、視線ベクトルを
sとすると、Sign( (v'2-v'1)X(v'3-v'1)・s )が視点に対する面の向き。
X: 外積,・:内積

graphics3dにバックフェイスカリング入れてください(CULL_NONE, CULL_COUNTERCLOCKWISE, CULL_CLOCKWISEでフラグ指定)。
バックフェイスカリングはリアルタイムレンダリング界の常識です。


609:デフォルトの名無しさん
07/06/14 00:28:46
というかBREW版のMCV4はわりとまともに機能がそろってるので
DoJa版インターフェースを作ったヤツがタコだったんだろうな

610:デフォルトの名無しさん
07/06/14 00:50:04
>>609
BREW版 MascotCapsul v4の場合、下位層がOpenGLだからまともなだけ。
てか、OpenGLつかえるなら、MascotCapsulなんかそもそもいらん。
じゃまなだけ。


611:デフォルトの名無しさん
07/06/14 00:54:51
ちなみにOpenGL使えるauの端末は、ハードウェアラスタライザー搭載機のみ。
型番でいうと、43とか以降かな。


612:デフォルトの名無しさん
07/06/14 01:04:38
作ったやつ(ら?)は、外積とか携帯では計算が重すぎるから・・とか思ってそうだなw

613:デフォルトの名無しさん
07/06/14 01:21:31
テクスチャーマップドポリゴン描画処理 >>>> 越えられない壁 >>>> ベクトル外積計算1回


614:デフォルトの名無しさん
07/06/14 02:39:57
ユーザーが意識する必要のない定数の値に
なんでイチャモンつけてるんだ?
で、5倍以上遅いっていうのは同じ端末での比較?

615:デフォルトの名無しさん
07/06/14 03:02:52
>>614
>なんでイチャモンつけてるんだ?

その定数がクラスライブラリ内部で使用されるだけという思い込み、もしくは希望を抱いているとそういう疑問を持つんでしょうな。
公に公開されるクラスライブラリを設計する会社が、もしそのような思考力・設計力しかないのならDoJaの一クラスなどという、
そんな大きな仕事を請ける資格はないです。公のクラスライブラリ設計者は、クラスライブラリを使用する
ユーザーの使用法,心理や思考の一歩先を読んで設計するもんです。良いクラスライブラリはユーザーを逆に啓蒙する力があります。
このクラスライブラリは失格です。技術的正当性はどこにもありません。
末端アプリ制作しているだけなら誰も文句いいませんけどね。はっきりいって迷惑です。


616:デフォルトの名無しさん
07/06/14 09:45:14
てか
定数のビット構成に縛られるようなプログラミングしたらだめだろ・・

こういう事いうプログラマは
端末ごとに変わる実装にもぶちぶち言ってるんだろう

617:デフォルトの名無しさん
07/06/14 11:55:08
ちんちんとまんまんは仲良くしないといけないんたよ

618:デフォルトの名無しさん
07/06/14 12:54:50
うぜぇ

619:デフォルトの名無しさん
07/06/14 16:42:05
>>616
フラグが立ってるかどうかの判定がややこしくなってるみたいですが・・・

620:デフォルトの名無しさん
07/06/14 16:58:55
>>615
師匠!
今度からはコテハンでお願いします!

621:デフォルトの名無しさん
07/06/14 21:21:55

【eclipse 3.2 + DoJa 5.0】

エクリプスで開発されていらっしゃる方々へ。

最新のエクリプスだと、どうやらi-appliのエミュレーター(DoJa 5.0)
が作動しないみたいですが、この問題を解決できた方、いらっしゃいましたら
ご教示ねがえませんでしょうか。

エクリプスを3.1にしようかなと思ってeclipse.org捜してみたのですが、
既に削除済みでした^^;

どうかよろしくおねがいします。

622:デフォルトの名無しさん
07/06/14 21:46:53
graphics3dは欠点を挙げていくとキリが無いよ。
素人が作ったライブラリとしか思えない。

623:デフォルトの名無しさん
07/06/14 22:02:11
>>621
3.2系列でどうなのかってのは自分も知りたいけど
3.1系列もは普通に公式サイトにある。1.0すらあるよ。

624:デフォルトの名無しさん
07/06/14 22:03:19
>>621
自分は探してないけどSourceForgeかどっかに無い?

625:デフォルトの名無しさん
07/06/14 22:48:50
>>623
いえ、all versionsって所をクリックしても出てこないし。
"3.1"で検索かけるてもno resultでしたorz

626:デフォルトの名無しさん
07/06/14 22:55:25
>>625
よく読みな。
URLリンク(download.eclipse.org)
のどっかにリンクがある。

627:デフォルトの名無しさん
07/06/14 23:08:29
eclipse3.2+Doja5.0で何の問題もなく動いております。よ?

628:デフォルトの名無しさん
07/06/14 23:27:55
>>626
どうもありがとう!そのページのここをクリックしたらありました!

 >For access to archived builds, look here

>>627
へ?え?・・・・^^;
JAVA_HOMEの設定もした上ででしょうか?

629:デフォルトの名無しさん
07/06/15 08:00:40
>>628
動作しないっていうのは、eclipseから実行やデバックしようとすると、
jarが作れないよーって感じのエラーメッセージが英語で出てくるやつ?
これのことだったら3.1にしても同じだったような記憶が・・・

とりあえずJDKのbinフォルダにパスを通すと上の現象はなくなる。

630:デフォルトの名無しさん
07/06/15 13:39:28
>>629
おお!
ありがとう。
エクリプスインスコして、i-modeのエミュ解凍してってんじゃだめ
なんだなw

DoCoMo、もうすこし丁寧にインストールマニュアル書けよ。
JAVA_HOMEではなくて、PATHの問題だったんだ。
いや、失礼しました。でも、みなさん、ありがとう!!!

631:デフォルトの名無しさん
07/06/15 13:41:09
>>630
いや、それ、ふつーに書いたあった気がするけど。

632:デフォルトの名無しさん
07/06/15 14:16:55
無理を承知で聞くが
class Dのコンストラクタで落ちる。ので
なぜ落ちるのかを予想してくれ。
class A{
public A(){
container = new Vector();
}
}
class B extends A{
public B(){
super();
container.add(obj);
}
}
class C extends B{
public C(){
super();
for(int i=0; i<10; i++){ setElementAt(obj); }
}
}
class D extends C{
public D(){
try{
super();
}catch(Exception e){
e.printStackTrace();//表示されない
}
}
}
関係あるか分からんけどJavaBlenderで下のエラーがでる。
コード検証に失敗しました。(Phase=2)


633:632
07/06/15 14:19:25
ちなみにエミュレーターだと正常に動作するけど
実機で落ちる

634:デフォルトの名無しさん
07/06/15 14:50:08
>>631
やっぱり書いてないですね。
環境変数っていじりたくないんだけどね・・・・
URLリンク(www.nttdocomo.co.jp)

635:デフォルトの名無しさん
07/06/15 14:56:30
>>634
アーカイブに含まれている
DoJa-2007_1st_Emulator_DevGuide3.00.pdf
のp.287に書いてあるような内容でなくて?
ちゃんと読もうよ。

636:デフォルトの名無しさん
07/06/15 14:58:00
>>632
ExceptionだけじゃなくてErorrもcatchしてみてはどうか。

637:632
07/06/15 15:11:55
>>636 こうか?

try{
try{
super();
}catch(Exception e){
e.printStackTrace();//表示されない
}
}catch(Error er){
er.printStackTrace();//表示されない
}
やってみたけどやはり何もでない。
docomoはテストにパケット代がかかるからいやなんだよなぁ。

638:デフォルトの名無しさん
07/06/15 15:27:44
>>635
いや、できました!ありがとう!!!
eclipseのフォルダーの指定のところで、eclipseの一つ上の
(同じディレクトリで解凍させた時にできる)フォルダーを
選んでいたのがダメでした。

そのPDF、今見ましたけど、PATHの設定のところの日本語
おかしいですね。i-appliは自動でjdkのbinを検出しています。
なんて書いてあって、でもPATHはbinまで張れとも書いてあるし。

639:デフォルトの名無しさん
07/06/15 15:31:29
>>638
Eclipse 環境では自動認識しないってことなんじゃないかと。

640:デフォルトの名無しさん
07/06/15 15:58:19
>>639
なるほど・・・・

こういうインストールが問題なく、ひとつづつちゃんと行えるっていうのは
大切な技能ですよね。力不足を実感しました。orz
あと、インストールの説明書の書き方も難しい。実に・・・・
>>639さんはベテランのプログラマーですね。私、これから当分の間は
Java MEを専門にして喰っていこうと思うのですが、アドバイスあったら
ください!

641:デフォルトの名無しさん
07/06/15 16:12:13
P903iなどのBluetooth機能搭載機での話ですが、
Bluetooth機能を持ったPCなどとSPPを用いて
シリアル通信するiアプリを製作することは出来るのでしょうか?
API見てたらトラステッドがどうのこうのとかあったんで出来ないんですかね?

Bluetooth携帯持ってないので試せないんです。
誰か知ってたら教えてください。

642:デフォルトの名無しさん
07/06/15 16:18:47
>>641
DoJa 5.0では、どうやらBTのAPIって標準装備でOPTION
じゃないでしょ?

通信については、プロトコルの問題であるから、十分可能なはず。

643:デフォルトの名無しさん
07/06/15 16:19:23
>>632
new D();をtry〜catchしてみた?
コンストラクタじゃないとするとクラスのロードが怪しい
static変数の初期化に失敗してるとか、preverifyが実行されてないとか

644:デフォルトの名無しさん
07/06/15 16:37:43
>>642
レスサンクス
やってみるよ

645:デフォルトの名無しさん
07/06/15 16:55:31
>>644
やるのはいいけど、MIDPと違って参考文献が無きに等しいでしょ?
DoCoMoの開発ガイドにもサンプル無いし。
MIDPの情報だったら、教えてあげられるけどね・・・・

で、実際どうやるの?かなり大変だと思うよ。

646:デフォルトの名無しさん
07/06/15 17:05:29
>>643
親クラスのコンストラクタにprintlnを入れてみたけど表示されないから
コンストラクタに入る前に落ちているようだ。

>クラスのロードが怪しい
>static変数の初期化に失敗してる

雰囲気として上のが怪しいようなので調べてみるよ。
ありがとう。

647:デフォルトの名無しさん
07/06/15 18:30:07
APIリファレンスあればどうとでもなるでそ?(・ω・)

648:デフォルトの名無しさん
07/06/15 18:43:12
>>646
まさか
apptrafe=onしてないなんてことはないよな

649:デフォルトの名無しさん
07/06/15 18:54:29
>>648
さすがにそれはない。

650:デフォルトの名無しさん
07/06/15 23:05:59
>>647
さすがにそれはない。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4204日前に更新/254 KB
担当:undef