1 名前:デフォルトの名無しさん [2008/03/20(木) 21:43:54 ] J2ME CLDC+MIDPベースの携帯電話用Java(主にEZアプリ、Vアプリ)に関するスレッドです。 質問でも議論でも何でもこい、と。質問は公式資料をよく読んでからにしましょう。 前スレ: CLDC+MIDP+携帯電話用Javaスレッド part 7 pc11.2ch.net/test/read.cgi/tech/1180010672/ 過去スレ 携帯JAVAのスレッド pc2.2ch.net/test/read.cgi/tech/1011977260/ (DAT落ち) CLDC+MIDP+携帯電話用Javaスレッド part 2 pc5.2ch.net/test/read.cgi/tech/1070858996/ CLDC+MIDP+携帯電話用Javaスレッド part 3 pc5.2ch.net/test/read.cgi/tech/1091798483/ CLDC+MIDP+携帯電話用Javaスレッド part 4 pc8.2ch.net/test/read.cgi/tech/1108781476/ CLDC+MIDP+携帯電話用Javaスレッド part 5 pc8.2ch.net/test/read.cgi/tech/1132493827/ CLDC+MIDP+携帯電話用Javaスレッド part 6 pc11.2ch.net/test/read.cgi/tech/1155174514/ -- Java一般に関しては: 【初心者】Java質問・相談スレッド113【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1204363011/ NTT DoCoMoのiモード携帯電話用Java(iアプリ)については: iモード携帯電話用Java(iアプリ) Part16 pc11.2ch.net/test/read.cgi/tech/1198816379/ >>2-5 あたりにリンク集・;(`ε()゙
202 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 02:34:55 ] DefaultColorPhoneを例にすると wtklib\devices\DefaultColorPhone にある DefaultColorPhone.properties の screenPaintableRegion.height を240に書き換える ちなみにデフォは292だった気がするが
203 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:08:15 ] >>202 レスありがとうございます 書き換えてみたところ、しっかり設定されました まだどんなゲームを作ろうとかいう段階ではありませんが とりあえずRPG用のマップチップを読み込んで分解して 自由に配列できるようにするところまでいきたいと思います また詰まったらこちらにお邪魔するかもしれません。。。
204 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:56:06 ] TiledLayerがあるだろ。javadocも読んどけ
205 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:35:04 ] すいません質問です。。。 ソフトバンクのJavaアプリを作ろうと思って、 作成したものを某どこぞのテストサーバにアップして 実機でダウンロード確認したんですが、 終了ボタンを押すとエラーが発生して終了するんです。 MEXAのエミュレーター上で電源キーを押しても何もおこらないので、 pauseの時点で止まっていたり、落ちている気がします。。。 全然気付かずに色々と作業したあとなので、ソースもかなり大きなものになっていて、いつからそうなってしまったのかわかりません。。。 誰か心当たりのある人はいらっしゃいますでしょうか?
206 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:04:43 ] pauseApp()に何も記述しないようにすればいいんじゃない?
207 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:07:29 ] MIDPの仕様でもpauseApp()などは速やかに制御もどせってことになってる。
208 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:09:21 ] エミュレータのコンソールに例外が出てないんだったら マルチスレッドのタイミングの問題かも・・・ 終了時に開放したメモリをどこかで参照してる可能性が高い
209 名前:デフォルトの名無しさん [2008/04/23(水) 10:50:57 ] すいません。 助けてください。 Sアプリでspf(元はMIDI)とmmf(元はwave)を同時に鳴らそうとプログラムしたのですが、何故か鳴りません。 例えばspfだけ、またはmmfだけなら鳴るのですが、両方を鳴らそうとすると駄目です。 正確には、spfを一度鳴らすと、その後、mmfだけを鳴らそうとしてもなりません。 また機種によっては、spfだけもしくはmmfだけでも鳴らないものもあります。 ネットで検索したら、 「spfファイルとmmfファイル同時再生に対応する端末は、SoftBankの開発サイトの端末仕様ドキュメントで、「サウンドメディアの多重再生:4channel SMAF/Phrase + 1channel SMAF/Audio」って書いてる機種だけ」 とありました。 ソフトバンクの開発サイトは登録しないと仕様が見れないようになっていて、先日、手続きをしたのですがまだ返事が来ません。 ですので、資料を見ることも出来ないのです。 これって機種依存なんでしょうか? どなたか、分かる方がいらっしゃいましたら、お願いいたします。
210 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 11:16:26 ] 今、個人会員で登録してきたけどメール来ただけで すぐに資料見れたよ? ちょっと見た感じ、サウンドメディアの多重再生の所が 機械によって違ってたみたいだから 機種依存だと考えるのが普通だと思う ・;(`ε()゙
211 名前:デフォルトの名無しさん [2008/04/23(水) 13:47:12 ] >210 情報ありがとうございます。 こちらはメールがまだこないです。 もう一度、個人で登録しなおしてみますね。
212 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 19:58:51 ] このスレたまにフリーズするね・;(`ε()゙
213 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 22:54:44 ] >>209 前に同じことをやろうとして、それできなかった。 ただし、midiとwavならできた。
214 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 00:38:38 ] BREWなんかでもあるけど、同時再生できる組み合わせが 機種によって違うからだな・;(`ε()゙
215 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 01:53:23 ] ネオポケでSEを再生するたびにBGMが初めから再生される現象を思い出した KCP+端末はマルチスレッド(?)らしいから、うまく同時再生してくれそうだ
216 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 09:41:10 ] マルチタスクだろうが音源の仕様以上のことは出来ないと思うがな
217 名前:デフォルトの名無しさん [2008/05/02(金) 19:43:37 ] AUオープンアプリ初心者向け解説 結構分かりやすかった appget.com/contest/au2007/lecture/index.html
218 名前:デフォルトの名無しさん [2008/05/05(月) 23:09:56 ] GameCanvasとFormは同時使用できない?
219 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 01:49:01 ] 同時は無理 切り替えは随時可能
220 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 02:37:11 ] >>219 なるほど、やってみま。 ありがとう。
221 名前:デフォルトの名無しさん [2008/05/06(火) 12:05:11 ] J2ME Wireless toolkit のエミュレータで FileSystemRegistry.listRoots() を呼び出すとエミュレータ画面に xxx はローカルファイルシステムから読み込もうとしています。ファイルを読み込んでもよろしいですか? という表示が出て、コンソール側には ストレージのルート DefaultColorPhone で実行 警告: ネットワークなどは commandAction() ハンドラとは別のスレッドで稼動して、デッドロックでオペレーションがロックする可能性を回避する必要があります。 と出力されるのですが、この時にエミュレータが終話キーまで含めて無反応になってしまいます。 実機の 702NK II, 705NK では似たような画面が表示されますが選択すれば進めますし、 au のオープンアプリプレイヤーでは結果こそ空っぽですが警告画面自体がでないので エミュレータ固有の問題のようなのですが、解決策はありますか?
222 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 13:33:34 ] Wireless Toolkit以外でもSunのMIDPを使っている 機種では(国内機にはないはず)デッドロックする可能性があります。 解決策は警告文に書いてある通りです。
223 名前:221 mailto:sage [2008/05/06(火) 23:34:51 ] >>222 レスありがとうございます。 警告文の意味がわからず少し悩んだのですが、 commandAction() ハンドラ(やキー/ペイントハンドラ等)でネットワーク(やローカルファイルシステム)を使用すると デッドロックする可能性があります。 そういった操作は別のスレッドで稼動して、デッドロックする可能性を回避する必要があります。 という意味なのですね。 別スレッドに処理をわけたところ上手く行きました。 ありがとうございました。
224 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 22:02:03 ] 912SH向けの待ち受けS!アプリを作ろうとしてるのですが、ResidnetMIDIlet を使おうとうると、セキュリティエラーがでて起動すらしてくれません。 Webを探し回っても解決策見つからず、どうすればいいのか教えてください。 エミュレータで実行すると、次のエラーが出ます。 java.lang.SecurityException: com.j_phone.midlet.ResidentMIDlet was denied java.lang.SecurityException: com.j_phone.midlet.ResidentMIDlet was denied at com.jblend.security.midp20.SecurityManagerImpl.checkPermission(+185) at com.j_phone.midlet.ResidentMIDlet.<init>(+15) at sample.OshiraseResidentMIDlet.<init>(+4) at java.lang.Class.runCustomCode(+0) at javax.microedition.midlet.MIDlet.createMIDletInstance(+22) at javax.microedition.midlet.MIDlet.main(+105) jadファイルには次を記述してます。 MIDxlet-API: MEXA MIDxlet-Resident: S MIDlet-Application-Security: Y MIDlet-Permissions: com.j_phone.midlet.ResidentMIDlet,com.j-phone.system.DeviceControl.read
225 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 22:22:38 ] CLDCとかMIDPのバージョンをjadで指定してみれ
226 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 22:51:03 ] >225 Mnifestフィルにあった次の記述を、jadファイルにコピーしました。 MicroEdition-Configuration: CLDC-1.1 MicroEdition-Profile: MIDP-2.0 あと、念のため次もjadファイルに追記しました。 MIDlet-OCL: JSCL-1.2.2 それでも、まったく同じエラーで起動できません。 ほかに何かないものでしょうか。
227 名前:デフォルトの名無しさん mailto:sage [2008/05/18(日) 23:34:34 ] MicroEdition-Configuration: CLDC-1.1 MicroEdition-Profile: MIDP-2.0 上記2つはjadファイルには必要ない。あっても問題ないけど。 MIDP2.0では ×MIDlet-OCL: JSCL-1.2.2 〇MIDxlet-API: JSCL-1.2.2
228 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 03:45:51 ] >>227 へ?
229 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 10:59:45 ] MIMEじゃねえの
230 名前:デフォルトの名無しさん mailto:sage [2008/05/19(月) 19:40:02 ] >>224 jadファイルには MIDlet-Permissions: com.j_phone.midlet.ResidentMIDlet MIDxlet-API: JSCL-1.2.2 MIDxlet-Resident: S を追加する。 MEXAエミュレータのプロジェクト→端末設定→MEXAオプションのUnit1+Unit2の所にチェックを入れてるか? アプリのインストール時にTrustedを選択しているか? 思いつくのはこれくらいなんだが…
231 名前:224 mailto:sage [2008/05/19(月) 20:50:40 ] みなさんのアドバイスをもとに試行錯誤して、なんとか待ち受けアプリを エミュレータで起動することができました。 問題は、MIDlet-Permissions に「com.j-phone.system.DeviceControl.read」を 入れていたことでした。 MIDlet-Permissionsには、カンマ区切りで複数のセキュリティパスが書けると 思ってたのですが、ダメなのかも知れません。 とにかく、次のjadファイルで、待ち受けアプリ起動しました。 MIDxlet-API: MEXA MIDxlet-Resident: S MIDlet-Permissions: com.j_phone.midlet.ResidentMIDlet ※MicroEdition-Configuration: CLDC-1.1 MicroEdition-Profile: MIDP-2.0 MIDlet-Application-Security: Y の3つは無くても軌道には至りました。 あと、>230 のアドバイスのように、インストール時には、trustedでインストール する必要もありました。 とにかく解決しました。ありがとうございました。
232 名前:デフォルトの名無しさん [2008/05/20(火) 16:02:27 ] すみません。 初心者です。教えてください。 S!アプリではBASE64って使えないんですか? JavaDocの中に見つからなかったんですが・・・
233 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 18:32:29 ] sunのRI使ってればcom.sun.midp.io.Base64が使えないわけでもない
234 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 12:03:39 ] javax.microedition.lcdui.game.Layerのコンストラクタをパッケージプライベートからpublicに変えてほしいよね。 クラス自体はpublicなんだし。 独自のレイヤ機能を実装したい場合にはSpriteはいらない機能が多い。
235 名前:232 mailto:sage [2008/05/21(水) 18:22:32 ] >233 ありがとうございます。 BASE64のロジックを JAVAでガリガリ書いてあるソースをひろってきて、 コピペすることで解決しますた。
236 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 19:21:42 ] まあbase64のエンコード・デコードくらい仕様に忠実に実装してもそんなサイズじゃないよ。
237 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:53:20 ] シャープのVGA機解像度上げるとオフスクリーンの取れるサイズが減るって 糞仕様どうにかなんねえのかなあ
238 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 19:27:52 ] RAMケチってるからどうにもならんだろ
239 名前:デフォルトの名無しさん [2008/05/27(火) 19:32:09 ] 812SHでweb(http)からテキストを取得しようとしています。 エミュレータでは動作するのですが、実機で実行すると java.lang.SecurityException: restricted url. と出て接続できません。 jadは MicroEdition-Profile: MIDP-2.0 MIDxlet-API: JSCL-1.2.2 MIDlet-Permissions: javax.microedition.io.Connector.http MIDlet-Network: Y MIDlet-Application-Security: Y にしています。 googleで検索してみても同様の状況は見つからず困っています。 対処方法をご存じの方教えてください。
240 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 20:06:08 ] S!アプリのMIDP2.0対応端末編part6を見て思ったのですが、ファイルサポートの対応プレイヤーでPNGがMIDP2.0/JSR135に対応しておらず、MEXA/JSCLに対応している端末があります。 その端末ではImage.createImage()でPNG画像を生成できないと考えて、MEXA/JSCLのPngDataを利用すべきなんでしょうか?
241 名前:デフォルトの名無しさん [2008/05/29(木) 01:37:12 ] すみません、初心者ですが教えてください 開発環境 jdk1.5.0_14 wtk2.5.2 V-appli_SDK_121 で、Vodafone向けのVアプリを作ろうとテスト用のソースを作って以下のようにビルドしたら jarファイル作成時に次のようなエラーが出ました。 set CLASSPATH=C:\WTK2.5.2\lib\midpapi10.jar;C:\V-appli_SDK_121\lib\stubclasses.zip javac -source 1.3 -target 1.3 -encoding SJIS -g:none -d tmpclass -bootclasspath %CLASSPATH% test.java preverify -classpath %CLASSPATH% -d classes tmpclass jar cvfm test.jar test.mf -C classes . エラー java.io.IOException: invalid header field name: ?>>>?MIDlet-Name ... すみませんがこのエラーの原因と対処法がわかる方がいたら教えてください。 よろしくお願いします。 以下mfファイルの記述 MIDlet-Name: test MIDlet-Version: 1.0.0 MIDlet-Data-Size: 10000 MIDlet-Application-Range: 0,0 MicroEdition-Configuration: CLDC-1.0 MicroEdition-Profile: MIDP-1.0 MIDlet-1: test,,test
242 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 15:36:59 ] >>241 >MIDlet-Name ココ。どうせShiftJISでベタベタと書いたんだろう?
243 名前:デフォルトの名無しさん [2008/05/29(木) 19:16:52 ] >>242 無事解決しました ありがとうございます。
244 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 16:15:41 ] S!アプリについての質問なんだけど
245 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 16:18:02 ] >>244 ミスった S!アプリについてなんだが ブラウザ起動時のMIDlet-Versionは完全一致じゃなきゃ駄目なんだろうか? 具体的には MIDlet-Version: 1.xとか2.xぐらいの大まかな分け方でアプリとHTMLを切り分けたい
246 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 01:15:32 ] 初歩的な質問ですみません。。。 pngの透過についてですが、以下のように32*32のマップチップを3つ横に並べた画像の読み込みです for(i=0;i<3;i++){ image[i]=Image.createImage(32,32); image[i].getGraphics().drawImage(imgPic,-32*(i%3),0,Graphics.LEFT|Graphics.TOP); } こんな感じのプログラムなんですが、表示させてみると透過に設定した部分が白く表示されてしまいます おそらく32*32で準備した後にのっけてるからだと解釈していますが。。。 どなたか解決策をご教授していただけると助かります
247 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 01:44:04 ] >246 Image.createImage(32,32)によって素で白いImageが作られて、 そこに元が透過PNGであるimgPicというImageを描画したら、 透過部分に白が透けて見えるって状況だよね。 正常な動作じゃん。何を質問したいんだい?
248 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 01:46:25 ] 俺は透過なんて機種依存強そうで使った事無いけど 環境ぐらい書いてみたらどうだろう?
249 名前:246 mailto:sage [2008/05/31(土) 02:21:43 ] >>247 あ、かなり説明不足でした。。。 >>246 のプログラムでいうとimage[2]に格納した画像(キャラ)に透過が設定されていて、 image[0](床)の上にキャラを表示させたいということです。。。 >>247 透過なしでRPGなどのキャラが動かせるのでしょうか… まだエミュで実行させてるだけの段階ですが、 Vistaで、Wireless Toolkit 2.5.2 for CLDCを使っています
250 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 03:39:48 ] Graphicsがgだとすれば for(i=0;i<3;i++){ g.drawImage(image[i],0,0,g.LEFT|g.TOP); } じゃないの?
251 名前:247 mailto:sage [2008/05/31(土) 04:53:39 ] >249=>246 >>>246 のプログラムでいうとimage[2]に格納した画像(キャラ)に透過が設定されていて 残念だがそうはならん。 元が透過PNGのImage(ここではimgPicか)は、 他のImage(やCanvas)に描画する時点で透過が反映されるが、 描画されたImage(ここではimage[n])は透過情報を持っていない。 また、image[n]に対して「白を透過させろ」なんて設定するメソッドはない。 >249で思ってることをやるには、例えば、 image[0](床)に対して、imgPic上の目的の領域を直接描画する。 多分、こういうことを聞きたいんだよな?w
252 名前:246 mailto:sage [2008/05/31(土) 13:15:48 ] >>251 レスありがとうございます やはりこの方法では透過は無理なようですね。。。 ググってみたら、画像の一部を表示するdrawRegion()というものがあるのですね こいつを使って直接描画させてみようと思います
253 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 15:22:06 ] www.nicovideo.jp/watch/sm3488843
254 名前:デフォルトの名無しさん [2008/06/01(日) 13:27:33 ] 作成済みのEZアプリを携帯に入れたいんですが webにアップする以外の方法はありませんか
255 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 14:51:52 ] どこでもセーブ対応のjavaエミュレータがあればいいのに
256 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 18:15:41 ] StorageConnection sc = (StorageConnection)Connector.open(path); OutputStream os = sc.openOutputStream(); OutputStreamWriter osw = new OutputStreamWriter(os); として、書き込み処理を終えた後にすべてをclose()するものなのでしょうか? それとも一つをclose()すればいいですか?
257 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 06:59:43 ] 不要ならば開放すると良い
258 名前:256 mailto:sage [2008/06/02(月) 09:51:08 ] レスどもです。 ためしにStorageConnectionだけ開放しても、SDカードのアイコンの点滅が止まりませんでした。 やはり不要になったら開放しなくては駄目ですね。
259 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:10:05 ] 携帯javaならStringオブジェクトだろうと使い終わったら nullでも代入して初期化してやるのが良いかもしんないよ
260 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:59:44 ] レコードストアの内容ってMIDlet削除したら消えるんですよね アプリをダウンロードし直してもハイスコアとか保持できないですか?
261 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:49:49 ] >>260 アプリがマスター、RSがスレーブ と考えればそんな質問は出てこない筈 web鯖とかSDとか外に出しな
262 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 18:45:42 ] Other documentsあたりに置きっぱにしとくとマズいんだっけ?
263 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 01:10:46 ] 東芝・;(`ε()゙
264 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 01:41:26 ] 大きな画像をループでスクロールさせたい場合は分割したほうがいいですか? クリッピングがまともな実装であれば、そのまま画像を並べて描画したほうが速い と思いますが、特定の機種で遅くなったりしないでしょうか
265 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 01:55:37 ] >>264 機種別の仕様が書いてあるpdfに高速で描画可能なImageの最大サイズが書いてあるよ それ参考にして最適な画像サイズを割り出せば
266 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 01:30:28 ] >>265 >>264 じゃ無いけど、そんな細かい仕様まで公表してるメーカーってあるの? それともそのpdfは一般人には見れない代物?
267 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 05:05:06 ] >264-266 まずソフバン端末なのかau端末なのか明確にしてから話そうや
268 名前:デフォルトの名無しさん [2008/06/06(金) 19:36:55 ] ユーザシェアからして分けた方がよくないかそろそろ
269 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 19:46:21 ] >>268 プログラマのシェアで考えるべきだろう。
270 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 21:14:49 ] スレを分けると不便になりそう。 ソフバンもauもウィルコムも、CLDC+MIDP(+キャリア拡張)という形には変わりないから、 共通で参考になる情報が分散したり、逆に同じ質問があっちでもこっちでも…というのはうまくない。 質問者も回答者も、キャリア依存・機種依存の問題だなと思ったら、 そこをまず確認するように気をつければ、このスレ1本で問題ないと思う。 例えば>264には「ソフバン?」「例えばどの機種?」とか一言投げてやればいいし。
271 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 22:48:04 ] そもそも日本がMIDPで統一されてないのは問題だな
272 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 01:11:06 ] このスレには開発環境もろくに書かずに 皆が自分の思考を共有しているかの様な前提で 質問する人が多いから 次のテンプレには書き込みには対象のキャリアを 明示するよう一言付け加えてはどうだろう
273 名前:デフォルトの名無しさん [2008/06/07(土) 23:39:51 ] SBなのですが、大きいデータなどを読み込む時に 「ローディング中」みたくアニメーションさせる方法って具体的にどうやっているんでしょうか? 昔からゲーム作りでずっと疑問になっていてでそういうことをしているサンプルコードも見たことなかったものですから お願いします
274 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 23:44:53 ] >>273 スレ違い
275 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 23:46:40 ] >>273 データを読み込むスレッドと「ローディング中」をアニメーションさせるスレッドの二つを用意すれば?
276 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 01:57:21 ] >273 このスレで、ダウンロード中のプログレスバーの表示はどうやるかって話が 何度か出たから過去ログ探して読んでみれ。それで答えになる。
277 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 03:11:04 ] >>275 昔の端末でそれやると、アニメの方コマ送りになって使い物にならなかったが 今のはそんなにきれいに動く?
278 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 03:34:03 ] >>277 ローディングを示すアニメーションを滑らかにする必然性ってあるの? アプリが止まっているわけじゃないとユーザーに認識させられればOKだろ
279 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 06:32:50 ] 滑らかに動くならそのほうがいいだろ。 >>278 のUIは、悪くはないけど良くもないって感じのものなんだろうな。
280 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 08:54:07 ] 簡単にやるなら、絵を100枚読む場合、1枚読むごとにアニメを更新するって手もあるな。 ちょっとカクカクするけど、そこがまた「読み込んでるって感じ」が出る
281 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 18:18:30 ] プログレスバー更新時はローディング処理をスリープさせるってのはどうだろう ローディング自体遅くなるだろうけど綺麗にアニメーションするはず あと、バーは画像よりdrawLineの方が軽そう
282 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 19:55:23 ] ひどい話だ
283 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 22:44:26 ] 本末転倒
284 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 22:45:42 ] なにか前にも見た流れが・・
285 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 04:29:24 ] >>282-283 携帯程度の処理能力に無理して複数スレッド同時処理させるよか プログレスバー描画の更新の束の間の間だけロード処理を止めた方が 効率が良い場合も往々にしてあるのだよ
286 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 15:43:29 ] >>285 そもそもプリエンプティブにスレッド処理されてねーから、描画スレッドの駆動中だけ 転送スレッド止めても意味ねーのよ。 >>280 の方が余程綺麗に動く。 もっとそれらしく見せるなら、各段階の初期化の所要時間を実測してバーの進捗に 反映させる。 機種毎にイメージが遅かったりサウンドが遅かったりするから、 デフォルト値固定でなく、学習するようにすれば尚可。
287 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 16:19:13 ] 278 のように要点押さえて設計した方がよいと思うがね
288 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 19:56:38 ] ローディング画面が滑らかだとしても、ほとんどの人はろくに見ていないという、、、
289 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 20:11:56 ] フリーズしていないことさえわかればいいものだからな
290 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 22:56:28 ] ローディングの話でここまで盛り上がるとは・;(`ε()゙
291 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 00:11:00 ] ていうか前にも同じ流れがあったっちゅーねん・;(`ε()゙
292 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 06:45:03 ] だったらそれを貼れば良かっただろアホか・;(`ε()゙
293 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 19:16:33 ] バーじゃなくてアニメgif置いとけばいいじゃんwwwwwwwwwwwwwwwwwww
294 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 23:26:52 ] >>293 お!その手があったか。 お前超馬鹿じゃね?
295 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 23:38:55 ] 別にシステムじゃない分けて正確な進捗を描画する必要もないし オペレーティング システムでもどころかそまそも未来のことを" 正確"に把握するなんて不可能な訳で、適当な落とし所で 割りきれば良い話だよな 読み込み処理を分割して、処理済み/分割数で1/分割数読み込む毎に 描画を更新するのがセオリーじゃね? 別にバーは時間に対しての割合である必要もないし、 読み込んだ数に対する割合なら嘘にもならんし、 滑らかにする必要もないし、 読み込み単位でAPIでブロックされるから求める制度にも限界あるし、 フリーズしてない事と待時間の目安が提供出来れば十分だし。
296 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 01:00:40 ] 裏で先読みロードを繰り返す某RPGの様な 待ち時間無しのシステムを作れば良い 携帯の処理能力と300k制限の中でな・;(`ε()゙
297 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 06:15:29 ] >>295 リアル鬼ごっこ並みの日本語だが最後の二行は理解した。
298 名前:295 mailto:sage [2008/06/11(水) 08:08:02 ] >>297 リアルリアル鬼ごっこですまそ
299 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 01:18:00 ] >鬼ごっごサンプル(実機では動作確認してません) ttp://nicosb.orz.hm/sample/MobileApplication2.zip >>295 じゃないけど、作ってみた。 改造すれば進捗バーの表示もできるハズ >使ってる画像 ttp://nicosb.orz.hm/sample/sample.zip
300 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 14:03:58 ] >>296 携帯の処理能力よりも、300k制限よりもヒープが足んねえので却下
301 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 14:11:45 ] win mobile機でJBlend積んでたら余裕だな。 レジストリいじればヒープ9Mまで使える。
302 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 18:16:53 ] >>296 それドラクエだったっけ? WiiやX箱とかだとLoading画面に制約があるとか聞いたな。 3秒以内に画面の一部を更新しろとか。