[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 06/10 10:52 / Filesize : 213 KB / Number-of Response : 947
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

iモード携帯電話用Java(iアプリ) Part17



1 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 13:21:44 ]
NTT DoCoMoのiモード携帯電話用Javaに関する話題を扱うスレッドです。

※DoCoMo以外は下記スレへ。
CLDC+MIDP+携帯電話用Javaスレッド part 8
ttp://pc11.2ch.net/test/read.cgi/tech/1206017034/

■ iアプリ特有ではなくJava一般に関する質問はこちらへ
【初心者】Java質問・相談スレッド113【大歓迎】
ttp://pc11.2ch.net/test/read.cgi/tech/1204363011/

■関連スレ
【日本携帯】Mascot Capsule/Micro3D【標準】
ttp://pc11.2ch.net/test/read.cgi/tech/1117773530/


755 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 01:19:28 ]
>>754
onosendai.jp/npaka/bench2/bench.jsp
このページでしょうか?
16KByteを2048回書き込んでるということは、一覧に記載された値を2048で割れば1回あたりのアクセス時間(ミリ秒)が判るはず…
なのですが、求めた概算の時間と、実機のソレが、体感的にまったく一致しないんですよね
これは想像ですが、んぱかさんのベンチマークアプリは
Connector.openOutputStream() 等でスクラッチパッドへのアクセス準備した後に
連続で2048回読み込み/書き込みして測定してるのではないでしょうか
しかし実機上では、スクラッチパッドへのアクセス準備に時間がかかる機種とかからない機種が存在していて
それについては前述のページにその情報がない、
逐一「アクセス準備」→「書き込み」→「クローズ」をした場合は機種によって反応が全然違う、という状況ではないのかと思いました

何にせよ、スクラッチパッドへの書き込みが遅い件をアプリ側で改善するのは難しいですよね…?
書き込み回数を減らすか(画面切り替わり時などにまとめて書き込む等)、遅くても・待たされても我慢してもらうか、
どちらか選択するしかないのではという気がしました

756 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 10:59:26 ]
>>755
流石にそこまで「ぐっ…」って止まっちゃう端末は記憶にないなぁ。
・SPに保存するだけのアプリつくって、同じ挙動するか確認
・そのコード(IApplication#start()をオーバーライドした10行くらいだろ)をここで晒してみる

ってしてくれれば、俺も気になるし色々アドバイスするよ。

ちなみに電池パック抜きするとSPに保存(書き込み後close)した内容が反映されないって機種は
少なくともN900とP900
多分NPシリーズはその後もそうなってると思う。
だからこいつらだと、中断/再開がある系のゲームでハイスコアとか偽造し放題なんだよな('A`)

・中断/再開がある系のゲーム
ゲーム途中でプレイを中断するための機能。
「再開」すると消去される、1回しかロードできないセーブデータをつくる。
「再開」後データの無効フラグを立てても、電池抜きで「無効フラグが立たなかったことに」できちゃう。

757 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 11:24:56 ]
>>755
4byte書き込むにしても1byte毎にopen/close繰り返して
遅延させてるとか言うオチじゃないの?
それかメモリアクセスするがよろしく参照するたびにopen/closeしてるとか。


758 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 11:27:02 ]
>>756
「ぐっ…」
がどのくらいの時間か分からないけど

50msや100ms止まる端末はザラにあるだろ?

759 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 11:54:59 ]
>>758
0.1秒で「ぐっ…」と感じるなんて状況そうそうないと思うがなぁ…。
オプション画面とかも、その画面を抜ける「タイトル画面に戻りますか?>OK」ってやった時に書き込むもんだと思うし。

760 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 18:37:35 ]
そういや俺今まで気にしてなかったんだが、
複数の離れたい位置にあるデータを書き込む時に
opencloseを複数回繰り返して書き込む処理にしてたりすると、
いきなりアプリが終了されてしまう時なんかに、
その複数のデータの後ろの方は書き込みがされていない可能性があるわけだよな。
複数データが同期を前提とした関係構造だった場合、それが崩れてしまう。

タイミング的には低い確率だとは思ってるんだが、>>758を見ると起こせそうで怖い。
今まで作ったアプリで出ないとは限らないから不安だな・・。

761 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:41:02 ]
なぜ離れたところにセーブするような実装にしたんだ!!

762 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 22:54:55 ]
ファイルシステムでも実装したとか?

763 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 01:32:35 ]
N903iだけどバッテリ抜いてもちゃんと記憶されてるよ?



764 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:16:41 ]
PCではちゃんと計算どおり画像が描画されてるんですが、
実機で動かした時には、時々ずれてしまうことがあります
もしかしたら描画のタイミングが違うのではと思います
 do{
   /* ゲーム処理 */
   ・・・
   /* 描画処理 */
   repaint();
 }while( true );

こういう感じで処理した場合、repaint()の時に
paint( Graphics g )をちゃんと呼び出してくれてるのでしょうか?

765 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:23:52 ]
↑ですが、やはり描画部分を別スレッドにしている機種があるみたいです
ということは描画を自分の狙ったタイミングで行うということは無理なのしょうか?

766 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:28:07 ]
↑自己解決しました
paint( getGraphics() );
こうすればいいようですね

767 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:22:19 ]
>>766
普通そんなことしないと思うぞ。
「計算どおり画像が描画」されないって具体的にどんな状況?
あと実機の場合は機種が知りたい。

768 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:48:31 ]
>>767
repaintがかならずpaintを実行するって保障がないからじゃない?
docomoなのになんでrepaint使ってるのかは知らんけど

repaint()からpaint(getGraphics())に置き換えたから正常動作したってことで

769 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:49:30 ]
試した機種はN904です
「計算どおり画像が描画」されないっていうのは
計算途中の位置で描画されてしまうということです
例えば

x += speed;

if( 壁との当たり判定 ){
   int tmp = 壁位置の計算;
   x = tmp;
}

こんな感じのを使っていて、壁に当たっていた場合には、
壁の位置に補正されるはずなんですが(PCではされます)
実機で動かすと、一瞬めり込んで、次の瞬間に戻るというのが時々起きました
(上で言うと x += speed; の段階の位置で描画されているようです)
なので、もしかすると描画は別スレッドで回ってるんじゃないかと思ったんですが

770 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:51:12 ]
>>768
普通はrepaintしないんですか?
どんな感じで描画メソッドを呼び出してるんでしょうか?

771 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 16:55:01 ]
>>770
docomoってpaint内以外でもCanvasに書き込めるんだから
描画メソッド(paint)をrepaint()で呼び出す必要ないってこと

772 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 17:04:45 ]
またロックし忘れか。

773 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 17:10:21 ]
ロックし忘れはないですね
描画は一箇所でしかしてませんから



774 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 18:57:58 ]
repaintはpaintを呼び出して欲しいと「要求」するだけなので、いつ実際にpaintが呼び出されるかは不定。
paintとメインループは別スレッドなので、当然「計算途中でpaintが呼ばれて変な描画になる」のも当たり前。

普通はpaintの中は空にし、メインループでcanvas.getGraphics()して描画するんだ

775 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 19:22:13 ]
paint()内でwhileループしてる俺は邪道なのか・・・
ていうか最近やってなかったけど、久々にiアプリのソース見たら
なんか怖いことしてるんだが・・・

776 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 19:29:31 ]
>>775
おい、他のprocessEventが解決できなくなるだろ
少しはプログラミングガイド嫁よw部下だったらぶん殴ってるくらい最低のプログラムだ

777 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:06:07 ]
>>776だよな。何で俺もこんなことしたのかわからんwww

778 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 21:08:33 ]
実機でだけアプリが終了してしまう原因が分からなくて困ってます.
トレース情報を見るとArithmeticExceptionを拾っているのですが,このエラーが実機だからでるというのはどういうときなのでしょうか?

ご教授願います.よろしくお願いします.

779 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 21:14:20 ]
実機の機種とかさぁ、DoJaのプロファイルとかさぁ、もっと情報出したら?

780 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 21:18:51 ]
質問する時はこういう情報を出せ!みたいなテンプレが、次回のスレから欲しいかもな
そのExceptionはおおむね0で数値を割った時に出る。
割り算に特に注意しつつ、どこが原因か探してみ。

781 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 21:27:40 ]
>>778
それさエミュレータでもエラーはコンソールに出力されてるんじゃない?
アプリが落ちないだけで

782 名前:デフォルトの名無しさん mailto:saga [2008/06/08(日) 02:16:11 ]
repaint()は便利だから使うのやめられんハヒー
例えpaint内でループ使っても、その時repaint()かからないようにすればエラーは出ないヒヒヒ


783 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 02:27:34 ]
ゼロ除算が原因だとしてエミュと実機で違う点を挙げるなら、
タイマー精度、カラー値、Math関連の戻り値くらいかなぁ。

でも一番怪しいのはスクラッチパッドの初期化ミス。



784 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 10:12:39 ]
repaintが便利ってのの意味がわからんのだが、何が便利なんだ??
あんな動作タイミングが「不定」なもの、使いたくないだろうと思うんだが・・・

785 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 17:30:59 ]
MIDP2.0より古い機種に移植できるところ

786 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 17:44:31 ]
>>785
MIDP2.0より前の機種も、paint使わずに自由に描く方法のほうが一般的だろ
MIDP1.0のpaint外描画は仕様上100%保証されているわけじゃないが、それで動かなかった機種は現状1つたりともないし

787 名前:デフォルトの名無しさん mailto:saga [2008/06/08(日) 21:09:11 ]
無限ループを使わないプログラムの場合は
repaint()は便利ですぞ
使うのやめられねえヒョホー

788 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 21:50:57 ]
BREW移植があんだから、無限ループなんて使うわけないだろ
結局ただの釣りかよ

789 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 17:58:49 ]
Imageを、アンチエイリアシングをかけながら縮小描画する方法ってのは無いでしょうか?
drawImage系ですとアンチはかからないようですし…。
現在はgetPixelsとsetPixelsを駆使して、自前でやっているのですが、何分遅くて…。

790 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 18:49:52 ]
どんなゲームか気になるわ。
アドベンチャーとか?

791 名前:デフォルトの名無しさん mailto:saga [2008/06/09(月) 23:25:53 ]
repaint()も無限ループも使わないで
プログラムを循環させる方法なんてあるんですか?
教えてください

792 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 23:49:11 ]
>>789
スムージングを掛けての縮小処理だと思って返答するけど
テクスチャにしてバイリニアフィルタリング掛ければいいんじゃね?
携帯で3Dいじったことないから出来るかどうかまでわからんけど

793 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 00:05:54 ]
マスコットカプセルごときにフィルタなんてねーわけで・・・



794 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 07:54:15 ]
ソフトバンクのマスコットカプセルならバイリニアかかるけどな

795 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 15:12:02 ]
>>791
Timerクラス?
俺は787がrepaint()をどんな風に使っているのか、
788がどうしてBREW移植を前提にして語っているのかが知りたい。

796 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 17:10:46 ]
>>795
仕事柄移植はよくくるもんでな。
無限ループって聞いて「大外の無限ループ以外。つまりシーン関数(とか)内での無限ループ」を想定して「ねーよ、BREWに移植できなくなるし」って答えた。
大外は勿論無限ループだ

797 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 17:14:23 ]
釣りにいちいち付き合わなくていいよ

798 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 22:49:08 ]
>>789
どのくらいのスムーズさを求めてるの?
エクセル(2003)のCtrl+マウスコロコロくらいのスムーズさなら
タイマー+drawScaledImage()でやってる。
周期30msで30fpsくらいか。最近の機種は10msでもいいかも

799 名前:798 mailto:sage [2008/06/10(火) 22:55:00 ]
ごめん。書いて気付いたけど、アンチエイリアスね。勘違いしてた
たしかにdrawScaledImage()だと細かい字とかだと読めなくなるね
簡単にやるなら元の画像サイズをでかくするくらいか。
機種によっては読み込めるサイズ制限が厳しいけど。。。

800 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 23:19:21 ]
>>796
Dojaでの無限ループってかなり外側でしょ?

J2MEと違ってBREWは無限ループでブロックしちゃいけないからね...
決められた秒数いないにシステムに返さないとアプリが落ちるという制限もあったような...

801 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 00:09:07 ]
>>800
それがあるから、どんな場所で無限ループしても怒られないDojaであっても、一番の大外以外での無限ループはしないようにしてるのが普通じゃね?
日曜プログラマならどんなもんでも構わんと思うけど

802 名前:800 mailto:sage [2008/06/11(水) 00:24:20 ]
>>801
禿同。ついでにMIDP1.0にたいしても近い恩恵を受けられるしね。
恐らく無限ループを作って良いシステムなんて稀有だと思うし
出来る出来ないの話ではなくやらない様にすべきだよな

803 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 10:08:49 ]
MIDP1.0系の端末も、無限ループでやるとイベントが遅延する機種があるからなぁw
逆に3G端末系だと無限ループにしないとダメという、もうちょっと統一感もてよなあいつらw



804 名前:デフォルトの名無しさん mailto:saga [2008/06/12(木) 14:30:56 ]
}の数が合わないみたいなんですけど、どうしたらいいですか?
チンチンブルルンルン


805 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 18:51:09 ]
>>804まずはそのブツをしまいなさい。

806 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 12:35:37 ]
ちょっと聞きたいのですが
iアプリでエクスプローラーを作るのは可能でしょうか?

PC無しでSDカードの中身を操作したいのです
できるようならプログラム勉強しようとおもいます

ついでに口内炎が痛くて困ってます
治す方法はいいので、口内炎が出来る理由もわかれば教えて下さい

お願いします

807 名前: [―{}@{}@{}-] デフォルトの名無しさん mailto:sage [2008/06/13(金) 12:53:31 ]
一応できるけど、制限が多いので現実的ではない

口内炎は薬塗れば2日で治る

808 名前:806 mailto:sage [2008/06/13(金) 12:57:17 ]
素早いレスに感謝します

では、SDカード内のフォルダ名を変更するプログラムなら簡単にできますか?

口内炎の塗り薬はやはり染みて痛いのでしょうか?

809 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 18:50:42 ]
最新機種ならば複数の音楽を同時に再生するってことできるんでしょうか?

810 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 19:31:02 ]
>>808
できません。
染みません。
>>809
「一応」4つまで

811 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 19:35:17 ]
なんかよく分からんが口内炎なら野菜食っとけ、野菜。ってばーちゃんが言ってた。

812 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 19:37:16 ]
ビタミンAの欠乏だっけか?

813 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 19:50:26 ]
俺は首筋と後頭部に小豆大のしこりができたんだがこれは・・・?



814 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 19:54:06 ]
ピザじゃね?

815 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 19:56:33 ]
>>813
小豆じゃね?

816 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 20:53:52 ]
質問です。
SH906iは、480*854のiアプリを自動で横にしてくれる機能がありますか?
購入の参考にしたいと思っています。
宜しくお願いします。

817 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 22:05:06 ]
それはアプリ次第でしょ
細かいことは機種のスレで聞いたほうが確実だと思うよ

818 名前:816 mailto:sage [2008/06/13(金) 22:22:31 ]
そのiアプリを自分で作っていまして、
作る側のことはこの板で聞いた方がいいと思ったんです。
DrawAreaを480 * 854にして、更にTargetDeviceにSH906iとやればできますか?


819 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 22:37:53 ]
横にするってのがよくわからんがそれはできる

820 名前:816 mailto:sage [2008/06/13(金) 22:57:29 ]
480 * 854だと画面領域を超えるから
普通だと縮小されるか、もしくはDLでエラーがでますよね?
それで横画面にしたときに、
自動で右回転して854 * 480にしてくれるのかが知りたいんです。

確かF905iとかだとしてくれたような気がしますが、どうでしょうか?

821 名前:816 mailto:sage [2008/06/13(金) 22:59:01 ]
間違えた、縦横が逆でした……。

822 名前:デフォルトの名無しさん mailto:saga [2008/06/14(土) 00:18:20 ]
なんで
}の後に;をつけなくても大丈夫なんですか?
チンチンブルルンルン

823 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 00:22:06 ]
480x480



824 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 12:37:59 ]
グーグル アンドロイドって どう思いますか?

825 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 12:41:37 ]
ロボチガウ ロボチガウ

826 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 13:19:13 ]
よくよく考えてみたらメガアプリにのみ対応させるなら240*240にする必要ないですよね
皆さんはメガに対応させるときどのサイズにしてますか?

827 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 14:59:39 ]
いや、メガアプリでも240*240までしか使えない機種もあるし。

全機種に対応させたいなら240*240
ワイドが使いたくて比較的多くの機種に対応させたいなら240*320
その他ターゲット機種が決まってるならそれに合わせればいいんでね?

828 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 15:36:34 ]
>>820
縦画面にしてくださいって警告が出るだけじゃない?
SH905iはそういう警告が出る

829 名前:816 mailto:sage [2008/06/14(土) 19:09:18 ]
つまり、リッジレーサー等の横画面のiアプリは、
SH905iでは警告がでてプレイできないということですか?

830 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:14:03 ]
>>829
たしかリッジレーサーズは縦横両バージョンがあるよ
横に出来る機種だけが横ワイド対応だったと思う

831 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 23:02:31 ]
珍しく仕様がバラバラなんだよな。
最初バラバラすぎたのを反省して統一化してきてたのに、なんで急に?って感じ

832 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 23:18:24 ]
横向きにできる機種とできない機種があるから仕方ないでしょ

833 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 23:28:14 ]
そもそもSH905もSH906も横向きの時にキー操作が出来ないじゃん
SH906はタッチパネルで操作できるが、でもiアプリじゃ無理だろうし



834 名前:816 mailto:sage [2008/06/14(土) 23:43:10 ]
公式サイトでSH906iのiアプリのドキュメントを見つけたんですが、
プリインストールのデビルメイクライが縦横あるみたいです。
ただ、1つのアプリなので、携帯側ではなく、
iアプリ側で描画処理を変えてると思うんですよね。
メインの3D画面はいいとして、文字部分や2D画像は、
setFlipModeか行列で回転描画してるはずです。

2D画像だけなら最初から回転したものを用意すればいいですが、
文字はFlipでできないので、一旦画像に描画してからになると思います。
あとは854*480の横ワイド画像に全部描画してから、
それを回転して画面に描画といったかんじでしょうか。

ただ、このやり方だと回転した描画を用意して座標を指定するのがわかりづらいですし、
PCで開発しているときに横になって見づらいというのがネックになると思います。
後者は描画部分をPCと実機で切り替えられるようにすればできますが、
前者はどうにもなりません。

最初から横ワイド画面で開発したのが、そのまま横画面になれば何の問題もないんです。

ちなみに私が購入を考えているのはSH906iTVで、
ほとんど同じであろうSH900iでできるかを聞いてみました。

835 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 00:08:43 ]
同じ形の画像のうち片方は青、片方は赤の色で塗りつぶしてある物を用意して、
青のほうは表示、赤のほうは非表示(重ねるように配置)にして、
非表示にしてあるほうの色を取得するみたいなことはできますか?

836 名前:デフォルトの名無しさん mailto:saga [2008/06/15(日) 00:42:03 ]
三角関数を使うとビルドは成功しますが
起動するとRuntimeExceptionエラーが出ます
なぜですか?

837 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 00:45:36 ]
>>836
>>779

838 名前:806 [2008/06/15(日) 01:41:46 ]
では、SDカードに入れてあるエロiモーションを隠すことは不可能でしょうか?

あと口内炎に関してですが、治し方ではなくて
「何故できるのか」
を教えてもらえると嬉しいです。

839 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 05:37:59 ]
>834
>ただ、このやり方だと回転した描画を用意して座標を指定するのがわかりづらいですし、
>PCで開発しているときに横になって見づらいというのがネックになると思います。

全然そんなことないよ。特に難しいことなく開発できてる。

1行目について:
座標変換は必要なし。あたかも最初から横長のCanvasであるかのように、
画像でも文字でも854x480のImage(オフスクリーンバッファ)に描くだけのこと。
それをCanvasに描画するときにsetFlipMode()。

2行目について:
エミュレータに854*480(横長)のデバイスを作って追加する。
設定が面倒だけど1度やってみることオヌヌメ。

840 名前:816 mailto:sage [2008/06/15(日) 10:32:09 ]
>839
Imageに描画→それをcanvasに描画は、
2回描画するので重いのではないでしょうか?

また、私が今所持しているSH903iで、
setFilpMode(Graphics.FLIP_NONE)とsetFilpMode(Graphics.FLIP_ROTATE_RIGHT)
のそれぞれで240*240のgifを300回描画する時間を比べると約3倍違いました。

このことからも、なるべくFlipModeは避けるべきだと考えています。
速度を出すには、2D画像は画像自体を回転させ、
文字はしょうがないのでImageに書いたものを、
FlipModeで描画するのが最適なのではないかと思っていますが、
どうなんでしょうか?
携帯の方で勝手にやってくれれば一番なんですが……。

C:\iDKDoJa5.0\lib\skin\deviceinfo\のならば書き換えてやっています。

841 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:58:04 ]
>>838
なんかもう・・・他所でやれと言いたいところだが。

>では、SDカードに入れてあるエロiモーションを隠すことは不可能でしょうか?
端末側の機能でやれ。
アプリでできることはAPIリファレンスでSD-Bindingを調べろ。

>あと口内炎(略
ググれ。山ほど出る。

842 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 11:46:03 ]
マジメか

843 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 12:23:51 ]
>840
>携帯の方で勝手にやってくれれば一番なんですが……。
できないと決まってることに何でいつまでもグズグズ言ってんの。
「どうなんでしょうか?」じゃないでしょ。結論出してるならもう勝手にしなよ。



844 名前:816 mailto:sage [2008/06/15(日) 12:38:09 ]
SH906iでできるかできないかの質問の答えはまだ出てないと思います。

以前に作ったアプリで空のImageに描画したものを、
FlipModeでCanvasに描画等をするテストをやってみました。
結果、一番重いシーンでも秒間16描画が可能でした。

createImageで作ったものに描画するのは高速なんですね。
私の勉強不足でした。
できれば906iシリーズ全てに対応させたいので、この方法でいきたいと思います。

お騒がせしました。
そして、ありがとうございました。

845 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:13:22 ]
>>844
905以降は速い、うぜえ、消えろ
検証センター行け、行けないなら自分で買え

846 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:14:26 ]
>>840
言っていることがちぐはぐすぎる
setFlipModeすると遅くなるなら、たった1回しかそれをせずに済む「Imageに描画>Canvasに」を採用しろよ

開発も楽だし、速度も十分速い。
そもそもCanvasのlock/unlockを使っているなら、それは「Imageに書き込む>液晶に」という動作を内部でしている。変わらん

847 名前:816 mailto:sage [2008/06/15(日) 13:35:20 ]
>>845
検証センターなんてあるんですね。
個人でやっているので、この金額はちょっと高いので行きません。
SH906iTVを購入して、他の機種は公開して問題が出たら対応という感じにします。

>>846
840の時点では、setFlipModeで描画する回数よりもサイズのことを考えて、文字部分だけすれば早いのではないかと考えたんです。
setFlipModeの切り替えが遅いのなら「Imageに描画>Canvasに」ですね。
結果的にも「Imageに描画>Canvasに」になりました。

もう結論がでていることなので、開発に集中しますね。

848 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 15:06:54 ]
俺は↑これが言っていることがさっぱりわからないんだが、一体何を基準に思考してるんだろう・・・

849 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 15:17:30 ]
>>847
切り替えが遅いってどういう意味だ?
物理的に液晶を回転させてるとか思ってるの?
以降のdrawをFlip付きで実行してくださいって命令だろ?

Flipうんぬんじゃなく、offscreenを挟むと昔の機種は遅い
最近の機種はoffscreen経由でも高速になってる
これだけのことだろ?

850 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 15:38:34 ]
マップとかに使う配列データはソースに直接書いておくのと、リソースにテキストとして入れておくのでは、
どちらが容量を少なくできるんでしょうか?
内容が一緒なら変わりませんか?

851 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 15:49:45 ]
>>849
多分…。多分だが、setFlipModeを呼び出すこと自体が遅いと思ってるんじゃないだろうか…
Direct3DとかだとSetRenderStateをむやみに呼び出すなと言われるし…

>>850
変わりません

852 名前:835 [2008/06/15(日) 15:51:49 ]
インパクトが弱いのか、書き方が悪かったのかわかりませんがスルーされてしまってるようなので
もう一度・・・。

同じ形の画像のうち片方は青、片方は赤の色で塗りつぶしてある物を用意して、
青のほうは表示、赤のほうは非表示(重ねるように配置)にして、
非表示にしてあるほうの色を取得するみたいなことはできますか?

当たり判定に使うことが出来るんじゃないかと思っているんですが、どうでしょうか?





853 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 15:55:00 ]
>>850
resフォルダならjarファイルとして圧縮されるから減るんじゃ?



854 名前:デフォルトの名無しさん mailto:saga [2008/06/15(日) 15:57:40 ]
リファレンスでは2.0以降になっているのに3.0で
static int Math.cos(int a)
が機能しません
どうすればいいですか?


855 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 16:17:45 ]
答えたくても、意味がわからないのでな…






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<213KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef