CLDC+MIDP+携帯電話用 ..
[2ch|▼Menu]
167:デフォルトの名無しさん
07/07/21 21:19:30
Eclipse使うとプリプロセッサが使えなくなるから、俺は使わないなぁ。

168:デフォルトの名無しさん
07/07/21 23:46:35
ほうほう、なかなか使い勝手が良いという事ですな。
どうしよう、入れてみようかなぁ?

すっごく初心者的な質問で悪いんだけど…、Eclipse自体にビルドと実行機能はあるの?
あるんだったらToolkitは使う必要なくなるよね?
あと…、プリプロセッサって何?

169:デフォルトの名無しさん
07/07/22 00:32:19
ビルドはantファイルを書く。

メガアプリ(3G)なら容量そんなに厳しくないから
プリプロセッサ使う必要ないんじゃないかな。

170:デフォルトの名無しさん
07/07/22 00:42:53
EclipseMEが便利

171:デフォルトの名無しさん
07/07/22 00:53:01
>>161
ビューアだけでどうやって書くのか気になるwktk!!

>>168
javaにプリプロセッサ使ってもソース管理が複雑になるだけだから止めとけ


172:167
07/07/22 01:16:22
MIDPだけのアプリであればプリプロセッサを使用する必要はないが
DoCoMoやAuのJava等に対応する必要があるため、必然とプリプロセッサを
使用せざる得ない。

この場合、プリプロセッサを使用しないと一つのアプリで複数のソースが
出来てしまうため、余計ソース管理が複雑になる。
プリプロセッサを使用すれば、同一ソースで3キャリアのアプリを作成できる。

173:デフォルトの名無しさん
07/07/22 01:29:05
>>171
えっ、コツコツと一から入力してるけど…もちろんコピペは多様するが。。
もしかして時代遅れ!?

174:デフォルトの名無しさん
07/07/22 02:01:29
>>173
ビューア→閲覧するもの(書き込み不可)
エディタ→編集するもの(書き込み可)

ということで、>>171
>ビューアだけでどうやって書くのか気になるwktk!!
というのは、誰もが思うことだぜ。

余談
「テキストビューアなんてツールであるわけねぇだろ。
あってDOSのtypeコマンドくらいなんじゃねぇ」って
思って検索してみたら結構あるもんだな。
Vectorで124個もツールが存在していてびっくりしたよ。

175:173
07/07/22 04:28:48
おぉぅ、お恥ずかしい…

こうなったら実際にテキストビューアで開発するしか反論できないなw
じっと画面を見つめるだけでコードがスラスラと…
これぞ眼力プログラム!!

なんてね、勉強になりました。

176:デフォルトの名無しさん
07/07/22 08:15:45
>>167
俺はプリプロセスかけたソースをEclipseで扱う方法で
デバッガだけは利用したことある。

ある程度規模がでかくなったら便利。

177:デフォルトの名無しさん
07/07/22 09:04:01
当方 NetBeans の Mobility Pack を使ってるけどなかなかいいよ。
標準でのキー設定が Visual C++ と Visual Basic の間みたいな設定で,
もともと両方使っていた私は,すんなりとなじめました。
ちょっと重いのが難点かな?

178:デフォルトの名無しさん
07/07/22 13:49:09
当方MIDP2始めて一週間です
WTKでエミュレート→OK
W52Hで実行→画面が固まったままキー押してもソフトキー以外全く反応なし
の時はどの辺でつまづいているのでしょうか?




179:デフォルトの名無しさん
07/07/22 16:42:49
>>178
とりあえず、どんな機能を使用しているのか示さないと、なんともいえませんね。


180:デフォルトの名無しさん
07/07/22 17:14:24
>>179
曖昧過ぎてすいません

他の方のをやってみるとスタート時にnow loadingとかして読み込んでいるみたいですが
そういうのをしないと携帯ではイメージとか読み込みきれないのでしょうか?



181:デフォルトの名無しさん
07/07/22 20:24:53
>>180
それをやっとかないと、時間がかかる場合、動いてるのか止まってるのか分からなくなるでしょ。

実行速度が違うから、エミュでの印象とはまた違う。

182:デフォルトの名無しさん
07/07/22 21:32:34
まず、Hello Worldが動かせてるのかどうかから尻隊

183:デフォルトの名無しさん
07/07/22 21:52:24
>>181
WTKの実行速度っては変えられないですかね?

>>182
一応WTK上では240*240の六マソのボスフロア内を想定しての動作は出来ているつもりです



184:デフォルトの名無しさん
07/07/23 00:13:16
横レスすまないが
何かもう意思の疎通が図れてないというか意味が通じてないというかw
スレがグダグダになりそうな気配

>>178=180=183
せっかくアドバイスをくれる人がいるんだから質問されたことに的確に答えようよ。
>>182は「Hello World」(代表的なサンプルプログラム)をやってみたかと聞いている。
それに対して>>183で意味不明な答えはないだろう。

それに>>179のツッコミに対して>>180が全然説明になってない。
自分が組んだプログラムの説明をしろって言ってるのさ。

さらに、>>178の解決にエミュレータの実行速度は関係ない。
いま質問すべきはそこじゃないだろ。1つずつ解決しろって。

185:デフォルトの名無しさん
07/07/23 06:50:21
>>184
グダグダにしてしまいすいません

HWは最初に試しました
次に低レベルイメージ、コマンド
応用でランダムの高さのブロックをジャンプで避けるアクションは実機でも出来たのです

ただ、FLASHみたく全てを読み込んで再生みたいなサンプルがわからないので
ある程度以上の動作が実機だと追いついていないみたく困っております

説明下手なので自分のソース晒したらピンポイントで指摘して頂けますか?


186:デフォルトの名無しさん
07/07/23 08:48:02
問題に取り組もうとする姿勢は伝わるんだけどもコミュニケーション能力を何とかしてw

>HWは最初に試しました
自分で勝手な言葉を作って話したってわからないよ。

>ただ、FLASHみたく全てを読み込んで再生みたいなサンプルがわからないので
だから、わからないことを次々書くんじゃなくて>>178のプログラムを説明せよと。
何をやろうとしてどういう処理を記述してるのか、それを他人にわかるよう説明せよと。

>説明下手なので
そういうことじゃなくて、まず聞かれたことを理解して、そのことについて答えて欲しい。
そうしないと問題解決の糸口すらつかめなくて誰もアドバイスできないよ。

>自分のソース晒したらピンポイントで指摘して頂けますか?
どうして書き込みの度に話がすっ飛ぶのさ。>>179の続きからやり直しだな。

車を運転してたら止まった。サーキットを1周したいんだけど方法がわからない。
車を見せたら原因と方法を教えてくれますか? …そんなのJAFだってお手上げだよ。

187:デフォルトの名無しさん
07/07/23 23:26:30
>>185
画像や音は最初に全部読み込んで、すぐ使えるImageなどの状態にして、
HashTableや配列に入れとく。
ベストな方法かは知らんし、メモリ不足には気をつけにゃならんけど、
使うたびに読み込むよりは断然速い。

あと、もうちょっと他人が何を言いたいのか考えて、それに答えるべき。
小学校で習うことだぜ。

指摘できるか分からんが、ソース晒すなら見てみよう。

188:デフォルトの名無しさん
07/07/23 23:59:39
まず、「何が問題で、どうしたいのか」がよく分からんというのがなあ。
携帯Javaは初心者かもしれないが、日本語の作文も初心者なの?

189:デフォルトの名無しさん
07/07/24 03:00:01
いや、それ以前に問題に取り組もうとする姿勢は見れるけど人の話聞いてない。
言われてることを冷静に考えて返答しないと会話が成立しない。

190:デフォルトの名無しさん
07/07/24 11:07:21
>>186-189
プログラム以前のヘタレですいません

こちらにまたヘタレ文書くと他のかたに迷惑になりそうなので

URLリンク(www.uploda.net)

にソースと自分なりの説明書きました
それを見て解決方法教えていだたける方がいたらお願いします

passはjapanesepoorです


191:デフォルトの名無しさん
07/07/24 13:44:53
>>190
俺だったらGWCanvasのコンストラクタの中身ほとんどを
run()のwhile(true)の直前に書くね。

Display.setCurrent()の前でしかもコンストラクタ内で
getGraphics()はしないほうがいいんじゃないかな。

コンストラクタ内では、リソースに依存しない変数の初期化程度にしとくと良いよ。

192:デフォルトの名無しさん
07/07/24 17:28:46
Graphicsの有効なライフサイクルは描画前から描画後だしな。

何かしらプールが必要な場合は保持してるGraphicsが有効かどうか調べて有効ではない場合
確保し直さなければならない。JOGLはこれをある程度やってくれてたな。

まあ、環境依存のリソースをコンストラクタで拾うこと自体ちゃんと考えた方が良いかも。

193:デフォルトの名無しさん
07/07/24 18:29:46
すみません、テキストビューアでアプリ開発していると言った者です。
手に負えない事が一つあるので質問させて下さい…。
当方MIPD2.0でプログラミング中なのですが、全く同じソースで全く同じJAD/MFのソースを
クラス名/ファイル名のみ変えて新規プロジェクトで実行すると下記のエラーが発生してしまいます。
Unable to create MIDlet null
java.lang.NullPointerException


設定も何もかも同じなのにどうして新規プロジェクトだと実行できないのか…。
もうちょっと具体的に書かないと分からないのかもしれませんが、何をどう書けばよいやら、、
上記のエラーMSGでググってみると英語のサイトしか発見出来ず、翻訳したら意味不明な
文章になってしまい参考にも何もなりませんでした。
どうかよろしくお願い致します。。


194:193
07/07/24 18:39:42
申し訳ありませーーん!!自己解決しました!!
なんと…、プロジェクト作成時にClassNameを入れてませんでした…(汗)
さすがテキストビューアでソースが書ける男だと笑ってやって下さい。。

195:187
07/07/24 22:44:06
>>190
見ると言ったので、いちお。

ぱっと見いいように見える。
SoftBankだけど810SHでは普通に動いたし。

とりあえず、コンストラクタで色々やらない方がいいんでないかな。
Canvas作る→setCurrent→画像読込→getGraphics()→メインループとか、
setCurrentした後には少し間を空けた方がいい。

あと思いつくのは、ループの間隔60msecが速すぎて処理できないとか。
ブロック描画を最初の一回だけにしたり、loop()を軽くしてみるのもイイかもね。

EZ Javaはやったことないから、機種・キャリア依存だったらなんとも。

196:デフォルトの名無しさん
07/07/25 12:12:51
こんなヘタレに指示を下さった
>>191さんと>>192さんと>>195さん
の的確なアドバイスのおかげで携帯でも動作可能になりました

でも動作途中フリーズする場合があるので改良していきたいと思います

本当にありがとうございました


197:デフォルトの名無しさん
07/07/25 12:41:21
解決しちゃったのね
コンストラクタでは最低限の初期化のみで初期処理は別に切り出す
初期処理時にメッセージなりプログレスバーを表示すると
待ってる人の待たされてる感がかなり軽減できるのでお勧め
ソース見てると整理する力はあるから焦らずにがんばれ

198:デフォルトの名無しさん
07/07/25 21:16:08
すいません、質問です。
無職になった記念に、外部ストレージに日記をつけるようなS!アプリを作ろうかと
思ったんだけど、MEXAエミュレータでStorageConnectionを使うとSecurityException
が出ます。
これはもうなんらかの間抜けな設定ミスだろうと思うんですが、エミュレータの
アプリ毎のパーミッション設定「WriteData」を変えようとしても「*許可しない」
しか選択できず困ってます。
ストレージの空サイズはインストール時のデフォルト(内部8000KB、外部16000KB)で、
jadファイルにはMIDlet-Permissions:com.j-phone.io.Connector.StorageConnection.write
を書いてます。
他に見落とし易い所が有ったら教えてください。

199:デフォルトの名無しさん
07/07/25 22:16:05
>>198

URLリンク(memories.cocolog-nifty.com)

200:デフォルトの名無しさん
07/07/25 23:59:53
なにはともあれ、MIDxlet-API: JSCL-1.2.2
StorageConnectionはどうか忘れたけど、怪しい機能を使うときは
MEXAエミュ端末設定のオプション全部入れとこう。

201:198
07/07/26 11:45:48
>>200
"JSCL-1.2.2"と"JSCL-1.4.2"ついでに"MEXA"も試しましたが、だめでした。
他の要素も試してみます

202:デフォルトの名無しさん
07/07/26 14:11:37
パーミッションにj_phone.io.Connector.StorageConnection.readが
入っていないのが原因じゃない?


203:198
07/07/26 14:48:20
198では省略しましたが、readも入れてありました。
で、昼まで寝たら、恥ずかしい原因判明。
たぶんUntrustでインストールしているのが悪いのかと。
資料を読むと、このせいでSecurityExceptionが出るようなこと
は書いてあるんですが、なんか変な思い込みが有ってエミュレータ
ではいらないのかと思ってました。
すいません。

でも証明書や署名って、取得の窓口すらわからんです。
最初にコンテンツアグリゲータに作者登録してから始めれば
良かったんでしょうか

もう一回寝よう。無職だし。

204:198
07/07/26 14:59:10
寝る前にググったら、なんでだかnokiaのサイトに
それっぽい資料が有りましたので、いろいろ調べてみます。
ありがとうございました。

205:デフォルトの名無しさん
07/07/26 22:25:05
実機?MEXAエミュレータの話じゃないの?
エミュならオプションのセキュリティ設定するだけでTrustedにできるけど。
MEXAエミュでStorageConnectionやったことがあるから普通にできるはず。

実機だと、色々登録が必要。

206:デフォルトの名無しさん
07/07/27 01:08:22
質問させて下さい。

S!アプリでパズルアプリを作っています。
完成したので703SH,905SH,912SHで実機テストをしてみました。

実行結果を見ると圧倒的に703shの方が動作が速いのです。
動作速度は「703SH>>>>905SH>912SH」の順番でした。

URLリンク(www.moreread.net)
上記サイトのベンチマークをみると実行速度の順番は
「912SH>905SH>703SH」になっています。

原因を調べてみたのですが、オフスクリーンに書き込みを
行う時に912SH,905SHは時間がかかるようなのです。

912SH,905SH,703SHの端末仕様書には目を通したのですが
原因がわかりませんでした。

912SH,905SHでオフスクリーンを使うと実行速度が遅くなる
などの端末仕様などがあるのでしょうか?

または同じ症状になった人はいますか?

207:デフォルトの名無しさん
07/07/27 08:32:28
経験的に、描画は新しい機種が古い機種より速いとは一概に言えない。

これで何に時間かかってるか細かく測ってみるといいよ。
Calendar start = Calendar.getInstance();
//時間を測る処理
Calendar end = Calendar.getInstance();
long time = end.getTime().getTime() - start.getTime().getTime();

208:198
07/07/27 13:38:55
>>205
はい、MEXAエミュレータでの話です。
Trusted(3rd Party Domain)でインストール、を選択すると
コンソールに「Attempted to update MIDlet as other protection domain」
液晶画面には「910 Authorization failu」
となっていたんですが、一度アンインストールしたら出なくなりました。
お世話様でした

209:デフォルトの名無しさん
07/07/27 17:49:55
>>207
システムの時間は充てにならんからなぁ。特にjava MEベンダのCalendarは。

プロファイラなんかでボトルネックみるとかマトリクス書きだすとかの方が良いんだけど実機じゃできないかー。

210:207
07/07/28 09:32:13
>>209
そうなの?
Calenderよく使うけど、今まで問題を感じたことなかった。
暇があれば、正確かどうか測ってみます。

211:デフォルトの名無しさん
07/07/28 10:31:00
俺もそうだが、どうしても体が
Calender と打ってしまうな(´・ω・`)

212:デフォルトの名無しさん
07/07/28 19:03:55
Calendarは可憐だ、、、

213:デフォルトの名無しさん
07/08/01 06:00:03
ダウンロードしようとすると無効なデータですって言われる…なぜだ

214:デフォルトの名無しさん
07/08/01 21:04:30
>>213
理由はいっぱい考えられる。
もう少し詳しく状況を書くがよい。

215:デフォルトの名無しさん
07/08/02 04:52:32
御免、解決しました
ジャーファイルを手動で作ってたのがまずかったみたいです

216:デフォルトの名無しさん
07/08/02 08:24:38
ジャーだめだな

217:デフォルトの名無しさん
07/08/02 15:03:37
なんというオヤジギャグ…

218:デフォルトの名無しさん
07/08/02 18:42:39
JARファイルは手動で作ってはだめじゃー

219:デフォルトの名無しさん
07/08/02 21:14:26
MANIFESTちゃんと書けば、手動でJAR作ってもいけるけどね。
まあ、SDKにやってもらった方が便利かつ安全なのは言うまでもない。

220:デフォルトの名無しさん
07/08/04 01:07:42
JARもJADもAntに作らせてるわ。
JADは生成用のAntタスク作った。

221:デフォルトの名無しさん
07/08/04 01:23:07
お前がどうやってるかなんぞ訊いてないんじゃー

222:デフォルトの名無しさん
07/08/04 02:18:09
なんで無意味にひがむんだ?
MANIFESTをちょっといじればいいだけなんだからantタスクなり、スクリプトなり書けば良いだけの話じゃないか。


223:デフォルトの名無しさん
07/08/05 21:41:53
もう解決してるから

224:デフォルトの名無しさん
07/08/06 17:00:33
そりゃ20時間もあれば解決するわな。

225:デフォルトの名無しさん
07/08/06 22:29:57
というか>>215の時点で解決してると言ってるのに>>220で俺はこうしてると言われてもんなことどうでもいいって話

226:デフォルトの名無しさん
07/08/06 23:40:28
話を膨らませてはだめなの?じゃー

227:デフォルトの名無しさん
07/08/07 13:34:24
最近MEXAでSアプリに初めて触れたものですが、質問があります。

とりあえず何も考えずにMEXA SDKをダウンロードしてHelloWorldから始めましたが、
調べてみたら他にもJSCLとかMIDPとかいろいろあり、僕個人の見解では
「MEXAは新しい。対応端末(新しい機種)じゃないとダメ。
古いのでも動かす(シンプルなゲームとか)は最初からJSCLで作る」
ていうイメージになったのですが、あってますでしょうか?
幅広い機種で動かすには最初からJSCLとやらで作った方が良かったのでしょうか?

あと、よくゲームダウンロードするときに、100kアプリ、256kアプリとかありますが、
これって最終的にできたjarファイルのサイズで決まるものなんでしょうか?
最初から「256kアプリ用の何かを使って開発しなければいけない」とか
そういうのはあるのでしょうか?

長文な上に超初心者で申し訳ありませんが、何を使ってどう開発したら良いか
個人では行き詰ってしまいましたので、質問させて頂きます。よろしくお願いします。

228:デフォルトの名無しさん
07/08/07 15:00:48
>>227
MEXAはオプション機能を使わなければJSCL-1.2.2と同じなので、
JSCL-1.2.2を指定しておけば問題ないかと。
最近はほとんど3Gの端末だろうし、jarの容量は1M以内で使って問題ない。

100kアプリ、256kアプリはjarのサイズとも関係あるが、
JSCLのバージョンによって区別されてた昔の名残。
エミュレータの違いはあるが、それ専用の開発ツールなどがあるわけではない。
今は気にする必要はほとんど無い。

2G端末を動作対象としているなら別だが、
3G端末でMIDP-2.0、MEXA(JSCL-1.2.2)を使っておけば良いかと。

229:デフォルトの名無しさん
07/08/07 16:46:19
>227
>とりあえず何も考えずにMEXA SDKをダウンロードしてHelloWorldから始めましたが、
あわてるな、先にやることがあるぞ。

まずSアプリ公式技術サイトURLリンク(developers.softbankmobile.co.jp)
で開発に必要な資料を手に入れて。

左側のSアプリ→技術資料→
・基礎編
・MIDP 2.0対応端末編 (MIDP 1.0対応端末編は3Gより前の端末用)
この2つは必ず全部読むこと。

そもそもSアプリがどういうモノなのか、それが大体頭に入ってないと
今みたいに何やるにしてもどうしていいか困るわけで。

230:デフォルトの名無しさん
07/08/07 21:33:47
>>229
まずやってみて実感を掴むってのも大事だと思う。
技術資料は当然必要だけどさ。


231:227
07/08/07 22:42:06
丁寧な解答ありがとうございます!

>>229
>・基礎編
>・MIDP 2.0対応端末編 (MIDP 1.0対応端末編は3Gより前の端末用)
>この2つは必ず全部読むこと。
すみませんでした。これから読むことにします。
とりあえず動かしてみて、それから納得するという悪い癖が・・・
その上で理解できなかった点は改めて質問させて頂きますので、
その際はまたよろしくお願いします!

>>228
>MEXAはオプション機能を使わなければJSCL-1.2.2と同じなので、
>JSCL-1.2.2を指定しておけば問題ないかと
ありがとうございます。まず上記のドキュメントを読んでみますが、
読む前にもう1つだけ・・・
「JSCL-1.2.2を指定」とはどこで指定すれば良いのでしょう?
jad ファイルの 「MIDxlet-API: MEXA」 の辺りでしょうか?
この指定をすれば、例えばMEXAのオプション機能を使おうとしたときに
エラーを吐いてくれて、JSCL-1.2.2 準拠のプログラムにできる、
という解釈で良いでしょうか?

232:デフォルトの名無しさん
07/08/07 22:43:40
JSCL-1.2.2 準拠のプログラムにしたいなら
MIDxlet-API: JSCL-1.2.2

233:デフォルトの名無しさん
07/08/07 22:55:22
まず実感を掴むのは大切かもしれないけど、
それにしても最低限先に読んで理解すべきことはあるよ。

>まず上記のドキュメントを読んでみますが、読む前にもう1つだけ・・・
>「JSCL-1.2.2を指定」とはどこで指定すれば良いのでしょう?

こういった、ズバリ答えが書いてあることは質問するのも答えるのも馬鹿らしい。

234:デフォルトの名無しさん
07/08/07 23:14:57
まぁ作る気満々の初心者だし
はやる気持ちは抑えられないってのもわかる

235:デフォルトの名無しさん
07/08/07 23:22:55
わかるが、残念ながら地味にいくしかない。


236:デフォルトの名無しさん
07/08/08 05:42:36
地味にいくも派手にいくも、本人の性格次第でしょ。

S!アプリ作るときはまず最初に「MIDxlet-API: JSCL-1.2.2」入れるようにしてる、
MEXA SDKは入れないとコンソールに日本語表示できないし、
MIDxlet-APIはよく書くの忘れてしまうので。

237:デフォルトの名無しさん
07/08/08 17:58:03
snesでファイアーエンブレム聖戦の系譜をやっていたところ、
攻略サイトの情報とボスのレベルが違ってて(10高いなど)
そのせいで普通なら使える戦法が出来ません、
(サイレスを使えば楽なところで、敵のレベルが高すぎて使えないなど)
これはこのデータ諦めたほうがいいのかなあ?
俺なんか違うデータ持ってきてしまったのでしょうか?

238:デフォルトの名無しさん
07/08/08 18:04:50
板違い

239:デフォルトの名無しさん
07/08/08 20:47:55
聖戦などぬるいトラキアやれ!

240:デフォルトの名無しさん
07/08/09 17:27:31
ファイルを読み込みたいんですけど、1メガあるのは読み込めないですよね…

241:デフォルトの名無しさん
07/08/09 23:29:18
Sアプリに限って言えば、データフォルダに1MBのファイルがあって
メモリが1MB以上あまっていれば読めるんじゃねぇ?

242:デフォルトの名無しさん
07/08/10 00:01:59
ちょいと質問したい

暇つぶしかつ勉強にS!アプリ作ってみたいプログラム初心者なんだが、
環境としてJ2ME、Wireless Toolkit、MEXA SDK、MEXA for Eclipse、あと手持ちの実機用意して
実機でHelloWorld作ってみたんだが、Wireless Toolkitのエミュ、MEXAのエミュ、実機で見た目が全然違くて困ってる
画面サイズはいいとして、ソフトキーの配置は何とかならんもんなの?

あと、EclipseまたはMEXAのエミュからはWireless Toolkitのエミュのオプションのように
JADファイルって手軽にイジったりすることはできないの?

あ、一応実機は911T

243:デフォルトの名無しさん
07/08/10 00:53:16
> ソフトキー
気にするほどだっけか……。

> JAD ファイル
やめておいた方がいい。


244:デフォルトの名無しさん
07/08/10 00:56:11
>Wireless Toolkitのエミュ、MEXAのエミュ、実機で見た目が全然違くて困ってる
画面サイズがいくつから知らんが、一般的だと240x260なので
jadに「MIDxlet-ScreenSize: 240,260」を書く。

>ソフトキーの配置は何とかならんもんなの?
おそらく、addCommandとremoveCommandの使い方が悪い。

>JADファイルって手軽にイジったりすることはできないの?
すまんが、バッチファイルで全部やっているのでわからん。

245:242
07/08/10 01:10:12
>>243、244
トンクス

画面サイズは>>244の言う通りMIDxlet-ScreenSizeで適当にやったらしっくりきたので解決したつもり

ソフトキーは右に『設定』左に『終了』置いたつもりが、
逆になってたり片方に『メニュー』として固められたりして気持ち悪かったんよ
気にするなといわれればそれまでだが・・・

> > JAD ファイル
> やめておいた方がいい。
どゆこと?JADはいちいちテキストエディタで編集せなかんの
つか、一般的にどの開発環境で作るのがベタなん?Eclipseは邪道?

246:デフォルトの名無しさん
07/08/10 01:19:21
わからないこと全部聴くつもりか?
優先度があるだろう

247:デフォルトの名無しさん
07/08/10 02:46:25
>>242 暇つぶしで勉強したいなら、人に聞くのはどうかと思うけど…
ゲームでチートしてるようなモンじゃん

248:デフォルトの名無しさん
07/08/10 10:07:07
開発環境なんて自分の作りやすいので良いだろうに邪道とか意味わかんね

人に聞く前に自分で調べたり検証したらどうなんだ


249:デフォルトの名無しさん
07/08/10 11:04:11
人に聞く方がよっぽど邪道

250:デフォルトの名無しさん
07/08/10 18:06:41
誰かが導入までのまとめサイト作ればいいんだよ
俺はやらんがな

251:デフォルトの名無しさん
07/08/10 18:57:07
わざわざ作らなくても説明好きな人が解説してるサイトはいくつもある
そういったサイトを複数個見て自分なりに取捨選択していけばいいだけ

252:デフォルトの名無しさん
07/08/10 19:04:22
>245
JAD ファイルに関して言えば、WTK 使った方が
微妙なミスとか文字コードに悩まなくて済むから。


253:デフォルトの名無しさん
07/08/11 00:28:51
>>242 ソフトキー

MIDP 2.0の説明(javadoc)をちゃんと読めばわかるが、
ある程度はコントロールできるけど最後の最後は実装依存だよ

完全にコントロールしたければアプリの描画エリアに自分で描け

254:デフォルトの名無しさん
07/08/11 01:21:02
現在、S!アプリ開発環境はMEXA SDK+Eclipseプラグインが一番いいと思う。
WTKはMIDxlet-APIとか勝手に入れてくれるから、初心者向きかもしれんけど、
慣れればJADもEclipseプラグインで編集した方が便利じゃね。

255:デフォルトの名無しさん
07/08/11 02:37:51
今日からSアプリ開発環境を何とか揃えてテストし始めたのですが、
実行すると、
 SOFTBANK_MEXA_EMULATOR11
が無いって言われてしまいます・・・。
インストールしたのはSOFTBANK_MEXA_EMULATOR12だったので、
12を11に書き直せば実行できましたが気持ち悪いです・・・。

これは何かインストールや設定が間違ったりしているのでしょうか。
お手数ですがご回答いただけますと幸いです・・・。

256:255
07/08/11 02:39:38
ああ、環境はEclipseを使っています

257:デフォルトの名無しさん
07/08/11 03:38:46
>現在、S!アプリ開発環境はMEXA SDK+Eclipseプラグインが一番いいと思う。

「一番いい」とかそんなもん無いよ
個人の技量&価値観次第

>実行すると、 SOFTBANK_MEXA_EMULATOR11 が無いって言われてしまいます・・・。
>ああ、環境はEclipseを使っています

だからほれ見ろこんな人もいる
WTK22一つならこんなつまずきは起こらない

258:デフォルトの名無しさん
07/08/11 12:06:31
>>255
>12を11に書き直せば
何を書き直したの?情報量が少なくてよく分からん。
俺は10(FeliCa用)と11を2つとも同じEclipseで使ってるけど、
特に問題起きたことない。

>>257
>個人の技量&価値観次第
当たり前。WTKのが初心者向きかもって書いてるっしょ。
「一番いい」は何らかの評価基準の上にある。

259:デフォルトの名無しさん
07/08/11 13:54:55
Eclipseのプラグインがディレクトリ名を10もしくは11って決め打ちにしてるんだろ
で、MEXAの最新版はバージョンが上がっててディレクトリ名が12になってるんじゃないか

260:デフォルトの名無しさん
07/08/11 18:46:46
いや、中身が同じなら適当なフォルダ名でも動く。

261:デフォルトの名無しさん
07/08/11 18:57:39
>>259が正解
フォルダの名前を変えるか
設定のとこの実行パスを指定でフォルダ指定しなきゃいけない

262:デフォルトの名無しさん
07/08/11 19:25:15
ああ、そういうことか。
いつもパス指定してたから、デフォルト実行パスがあるの忘れてた。

>>255
つまり、プロジェクトを作成するときか、
プロジェクトのプロパティー→MEXA Emulator実行パスに、
"SOFTBANK_MEXA_EMULATOR12"のフォルダを指定すればそのまま使える。

263:255
07/08/12 02:13:40
皆さんありがとうございました!
MEXA Emulator設定で実行パスを設定したら無事に起動することが出来ました。
プラグインで最新になっているかと思ったのですが、そんな落とし穴があったのですね・・・。

まだまだ初心者ですが、勉強していきたいと思います!


>>258さん
書き直す・・・すみません、情報が不足していました。
フォルダ名を直接変更したら、ということでしょうか。
11が無いというんだから、11にしたらどうなるか?と思ったら起動したのですが、
それだとなんだか気持ち悪いな・・・というところでした。

264:デフォルトの名無しさん
07/08/13 20:55:20
誰か>>109に答えてくれまいか
ググってここにきたが、返信は書かれてなくてショボン

265:デフォルトの名無しさん
07/08/13 21:31:01
>>264
APIはない

266:デフォルトの名無しさん
07/08/13 22:07:52
>>265
そっか、Dojaからの移植はメンドいな

267:デフォルトの名無しさん
07/08/13 23:15:15
なんとかターミナルIDとりたいよね。

iアプリ→S!アプリ移植を半年ほどやってて、
最近はラッパークラスかますだけで大概移植できるようにしたけど、
Phone.getPropertyはいまだ手つかず。

268:デフォルトの名無しさん
07/08/14 01:47:46
超初心者です。ひとつわからない点があるので、
どなたか教えていただけないでしょうか??
FEPControl.getDefaultFEPControl()を実行すると、
エミュレータのコンソールでjava.lang.NoClassDefFoundErrorが発生します。
パスとか環境の問題だと思うけど、どこをいじればいいのか教えてもらいないでしょうか?
■Eclipse
バージョン: 3.1.1
ビルド ID: M20050929-0840
■Mexa
MEXA Emulator exlips-plugin
バージョン1.0.0
■エミュレータS! Appli MEXA Emulator 1.2
パス:C:\Program Files\SOFTBANK_MEXA_EMULATOR12
■プロジェクト
C:\SOFTBANK_MEXA_EMULATOR12


269:198
07/08/14 02:11:46
とりあえずjadファイルをコピペすれ
sageで

270:デフォルトの名無しさん
07/08/15 00:53:17
>>268
まずはjadに、「MIDxlet-API: JSCL-1.2.2」 追加。
あとはMEXA Emulatorのプロジェクト→端末設定→MEXAオプションの
必要なものにチェックが入ってないとかかなあ。

271:268
07/08/15 01:48:12
>>269
>>270

遅くなってすんません!

jadに「MIDxlet-API: MEXA」を追加したら動きました!
環境の問題だとばっかり思ってたんだけど、jadの方だったとは、、

一歩前進しました。
ありがとうございました!

272:デフォルトの名無しさん
07/08/17 00:49:30
       ,.ィ , - 、._     、
.      ,イ/ l/       ̄ ̄`ヽ!__
     ト/ |' {              `ヽ.            ,ヘ
    N│ ヽ. `                 ヽ         /ヽ /  ∨
   N.ヽ.ヽ、            ,        }    l\/  `′
.  ヽヽ.\         ,.ィイハ       |   _| 俺は今とんでもない事に
   ヾニー __ _ -=_彡ソノ u_\ヽ、   |  \ 気付いた ソフトバンク
.      ゙̄r=<‐モミ、ニr;==ェ;ュ<_ゞ-=7´ヽ   >  並べ替えると ,馬糞と糞
.       l    ̄リーh ` ー‐‐' l‐''´冫)'./ ∠__ ソフトバンクモバイルを並べ替えると,
       ゙iー- イ'__ ヽ、..___ノ   トr‐'    /    踏ん張ると糞も倍
       l   `___,.、     u ./│    /_これは偶然の一致か?
.        ヽ.  }z‐r--|     /  ト,        |  ,、 何者かの陰謀では ないのか?
           >、`ー-- '  ./  / |ヽ     l/ ヽ


273:デフォルトの名無しさん
07/08/17 01:01:14
Sアプリの jadファイルに記述する MIDlet-Data-Sizeについて質問です。
データサイズを jadファイルに記述しない場合のデメリットってなんでしょうか?

データサイズが記述されている場合は、バージョンアップ時などに
RecordStoreの内容が引き継がれる(前バージョン時のRecordStoreデータが
保障されると解釈してよい?)と、開発ガイドにあるので、データサイズが
jadファイルに記述されていない場合は、その保証が無いのでしょうか?

イメージ的には端末の不揮発性メモリに
(1) jadファイルにデータサイズの記述あり
[アプリデータ……]
[RecordStoreデータ] ← アプリデータとは別の領域に確保される
 ↓
バージョンアップすると
[アプリデータ…………]
[RecordStoreデータ] ← アプリデータとは別の領域に確保されるので安全&拡張可能

(2) jadファイルにデータサイズの記述なし
[アプリデータ……][RecordStoreデータ] ←連続している?
 ↓
バージョンアップすると
[アプリデータ…………][#@%toreデータ] ←連続していたのでデータ壊れて使用できなくなる

という感じなんでしょうか?

保存するデータのサイズがけっこう変動するアプリを作成しているので、
上限をなるべく指定したくないのですが、その考え自体邪道ですか?
やっぱり、考えられる一番大きいサイズを jadファイルに指定するのがセオリー
なんでしょうか。

274:デフォルトの名無しさん
07/08/17 01:26:58
MIDlet-Data-Sizeがない場合、そもそもRecordStoreって使えないんじゃないの?
(単に実機依存なのかもしれないが)

MIDlet-Name, MIDlet-Vendor, MIDlet-Data-Size がすべて一緒の時に始めて、
バージョンアップ時のRecordStoreの内容が保持されるはずなんで、
> 考えられる一番大きいサイズを jadファイルに指定するのがセオリー
と思われる。

MIDlet-Data-Size を書いてない場合 -> RecordStore をそもそも使えない可能性がある
MIDlet-Data-Size がバージョンアップ時に変わってる -> RecordStore を引き継げない or バージョンアップDLできない
仕様に従うならこんな感じか。
細かいとこは実機依存だと思う。

あと、jar/jad/RecordStoreが実機にどんな風に保存されるのかについてはもろ実機依存なんで、
Java開発者が関与すべきとこではない。

275:273
07/08/17 10:06:27
>>274
回答どうもです。

エミュや自分の持っている904SHでは、MIDlet-Data-Sizeを jadファイルに
記述しなくても普通に RecordStoreが使えてたので、必要性に疑問を
感じてしまったしだいです。
保存するデータサイズの最大値を調べて、それに余裕を持たせて
記述したいと思います。

それから MIDP2.0なら MIDlet-Data-Sizeは、増やすのであれば
バージョンアップの時にデータを引き継いでくれるみたいですよ。

276:デフォルトの名無しさん
07/08/18 00:56:36
SoftBank用のJAVAアプリを作成しているのですが、
描画方向を変更できるメソッドは、存在するのでしょうか?

ワイド画面機種なら、
jadファイルに「MIDxlet-WideScreen: Y」と記述すれば、
横方向(横画面)で描画してくれますが、
これだと、アプリを起動してから、
描画方向を変える事はできません。

アプリを起動してから、描画方向をいつでも変更できる、
何かいい方法はないのでしょうか?


277:デフォルトの名無しさん
07/08/18 01:11:41
仮想画面に描いといて、
実画面に出すときに90度回転

278:デフォルトの名無しさん
07/08/18 01:17:27
エミュでHTTP通信させたいのですが、プロキシ認証でエラーがでます

java.io.IOException: Error initializing HTTP tunnel connection:
HTTP/1.1 407 Proxy Authentication Required

DojaエミュだとIDとパスワード聞いてきたんですが、MIDPエミュではどうすればいいのでしょうか

携帯アプリ以前の問題でスミマセン

279:276
07/08/18 01:19:51
>>277
なるほど!その手がありましたね。
レスありがとうございます。


280:デフォルトの名無しさん
07/08/19 14:02:31
ものすごく基本的なことなのかもしれないけど質問

WTKでは問題なく表示されてた画像がMEXAエミュでは表示されないんだが何が問題なんだろう?

WTKでコンパイルしたものをWTKエミュで表示・・・○
それを実機で表示・・・○
WTKでコンパイルしたものをパッケージ化してMEXAエミュで表示・・・×
MEXA SDK+EclipseでコンパイルしたものをMEXAエミュで表示・・・×
それを実機で表示・・・×

試した画像はpngとgifでつ

281:デフォルトの名無しさん
07/08/19 14:15:00
パッケージ化というのがどういう操作かわからないから間違ってるかもしれないけど
それぞれできたjarの中の画像ファイルの位置を確かめてみたら?
WTKでコンパイルしたものとは後二者は違ってる可能性が大きいよ
で画像を参照するパスが間違ってて読めてない

あとは画像を読み込んでいるところの例外を捨てずに
ちゃんとSystem.outに出力しておけば
少なくともエミュ上でなら問題の解決の助けになるよ

282:280
07/08/19 14:31:03
>>281
おお即レスどうも

パッケージ化ってのはWTKの
プロジェクト→パッケージ→パッケージを作成
でJARファイルとJADファイルを作成する操作のことです

確かに例外をそのまま捨ててましたが、今手元にソースがないのでどうにもなりません
明日また確認してみます

283:281
07/08/19 14:52:33
>>282
> WTKでコンパイルしたものをWTKエミュで表示・・・○
> それを実機で表示・・・○

このときjarってできてるよね。jadもさ。
じゃないと実機で動かないだろうから。
それを

> WTKでコンパイルしたものをパッケージ化してMEXAエミュで表示・・・×

これと比較すれば一発でわかるような気がしている。

284:デフォルトの名無しさん
07/08/20 18:18:47
903Tでダウンロードエラーが起きます。
どうもJADのMIDlet-Nameが長くて弾かれているようなんですが、

Vodafone903TってJADは全角も半角カナも全て3Byteなんでしょうか?
もしくは、技術資料には32Byteと書いてるけど、本当はMIDlet-Nameの最大は12Byte?
知ってる人いたら情報下さい。

ちなみに3G端末他30機種程は正常ダウンロードできます。

285:デフォルトの名無しさん
07/08/20 18:45:16
UTF-8の仕様
たいていの日本語文字は3バイト

286:デフォルトの名無しさん
07/08/20 23:25:49
3か4だな

287:デフォルトの名無しさん
07/08/21 08:22:47
そうなんですか。
ありがとうございます。

288:デフォルトの名無しさん
07/08/23 00:46:14
sアプリで、スプライトを使うメリットは軽い(早い)こと?
ガリガリ動かすアクションとかシューティングとかで無かったら、
image と graphics.util で作るのもアリですかね?
なんかイマイチスプライトのメリットがわからん・・・

289:デフォルトの名無しさん
07/08/23 11:21:16
昔のP4くらいで使われていたものだから
今の機種でスプライトを使うメリットはないよ

290:デフォルトの名無しさん
07/08/23 14:14:44
どなたかわかる方助けてください。

JSCL1.2.2で、RecordStoreに格納したJarファイルの中身を取り出したくて、Development Guideの通りに
Connector.open("Jar://ファイル名/リソースファイル名", Connector.READ);
という風に記述したのですが、
1・この"ファイル名"というのはRecordStoreの名前のことでしょうか?
2・取り敢えず実行してみると、
javax.microedition.io.ConnectionNotFoundException: The requested protocol does not exist
というエラーが出ます。
プロトコルが存在しないと言われてますが、設定で追加したりできるものなのでしょうか?

291:290
07/08/23 14:30:14
自己レスですが、Jar://〜が使えるかどうかは端末によりけりなんですね。

ということは、大量の画像ファイルをネットからダウンロードして
アプリ中に差し替えるような仕様だと、ファイルを1つずつダウンロードして
ちまちまRecodeStoreに保存する方法しか無いんでしょうか。

DojaならJarInflater()で一発なのですが・・・

292:デフォルトの名無しさん
07/08/23 14:48:33
Dojaってアプリでjar圧縮できるんだ?いいね
同じ事をやりたいんなら自前でアーカイバを作ればよい

293:デフォルトの名無しさん
07/08/23 15:54:48
初心者丸出しなのですが、画像の読み込みについての質問です。
少しずつテストして行って画像を表示させるテストで行き詰まりました。
3時間ほど調べてみたのですが解決方法が見当たらなかったので・・・


//絵の表示
public void paint(Graphics g) {
 if(image == null){
  try {
   image = Image.createImage("/test.gif");
  }
  catch (IOException e) {
   e.printStackTrace();
  }
  g.drawImage(image, 0, 0, g.TOP|g.LEFT);
 }
}

この際のtest.gifはどこに配置したらいいのでしょうか?
構成は
Test
 src
 tmpclasses
となっています。
tmpclassesに置くとnotfoundとは言われなくなるのですが、
やはり
 java.io.IOException
 java.lang.NullPointerException occurred in ImageCanvas.paint(Graphics), ignored.
のエラーで表示されてくれません。

294:293
07/08/23 16:35:30
すみません、解決しました・・・
MexaだとGIFは使えないのですね(汗)

ただ、配置場所に関してはやはりtmpclassesになっています。
これはeclipseの設定だと思うので探してはいるのですが・・・。

295:デフォルトの名無しさん
07/08/23 18:05:17
>>294
srcフォルダと同じ階層にresフォルダ作ってそこにリソースを入れる

296:293
07/08/23 19:47:21
>>295
それはやったことが・・・と思ったら、
ソースとしてフォルダを作ってなかったようです(汗)
新規>ソースフォルダでやったところに入れたら自動的にtmpclassesにも行きました。

ありがとうございます!

297:288
07/08/23 22:32:36
>>289
返事遅くなったけど、ありがとう!
これでどっちで作ったら良いか迷いを断ち切れた!

298:278
07/08/26 22:17:30
どなたか>>278に答えてもらえませんか

299:278
07/08/26 22:27:53
ちなみにWTKでもMEXAエミュでもです

300:デフォルトの名無しさん
07/08/27 01:03:53
リソースフォルダに格納した
ファイルのサイズを簡単に求める方法はないでしょうか?

外部に保存されているファイルなら、
StorageConnectionの「getLength()」を使えば、
簡単にファイルサイズを求められるのですが・・・。

実際にリソースデータを読込めば、
当然そのリソースのサイズは判明しますが、
「リソースデータを読込む前」に、
リソースデータのサイズを取得する方法があれば、
是非ご教授お願い致します。


301:デフォルトの名無しさん
07/08/27 01:20:39
InputStream#availableは?
一応読み込む前ではある。

302:300
07/08/27 02:14:40
>>301
おお!リソースのサイズが取得できました!
レスありがとうございます。

303:デフォルトの名無しさん
07/08/29 00:39:06
GraphicsUtilのgetPixelを使ったら、SecurityExceptionになりました。JADファイルになにか設定がいるのでしょうか。

304:デフォルトの名無しさん
07/08/29 02:43:02
電源ボタン押下によりアプリを終了する時、
自動的にデータ(※約10KB)をメモリカードに保存するようにしたいのですが、
destroyApp()内で外部メモリへデータを書き込んでいると、
エラーが発生して、アプリが落ちてしまいます。

destroyApp()内で重い処理をしている為、
エラーが発生していると思われますが、
どうにかして、destroyApp()がコールされるタイミングで、
外部メモリへデータを保存する事はできないのでしょうか?


305:デフォルトの名無しさん
07/08/29 04:27:24
>>304
機種の実装依存だから無理

306:デフォルトの名無しさん
07/08/29 10:02:47
>>303
GraphicsUtilはMEXA Unit2に該当するクラスだから
東芝とシャープ以外の端末では使えない。


307:306
07/08/29 10:06:18
あ、今回の場合違うな。
Canvasクラスのpaintの引数で来るGraphicsのインスタンスや
GameCanvasのgetGraphicsメソッドで取得するグラフィクスを対象とする
getPixelは使用できないというのが正しい。

308:デフォルトの名無しさん
07/08/29 10:53:04
>>305
ってかやるなって書いてなかったっけ?

309:デフォルトの名無しさん
07/08/29 11:36:07
destroyAppでストレージいじるの?
それは知らんが、MIDPのdocにはdestroyAppは速やかに終了しろと書いてあったが、
ストレージいじるのは時間かかり過ぎだな。

実装側で一定時間すぎたら強制終了するからストレージぶっ壊す可能性もあるからやるなとベンダーのdocに書いてるかもね。

310:デフォルトの名無しさん
07/08/29 11:56:49
電源ボタン押下によるアプリを終了はユーザーの責任だから
無視してかまわんだろ

311:デフォルトの名無しさん
07/08/29 12:15:19
携帯の電源ボタン終了はちゃんとした終了プロセス実行しないから強制終了だしね。
スマートフォンやPDAはまた違うが。

312:304
07/08/29 23:11:38
>>305>>308>>309>>310>>311
みなさんレスありがとうございます。
ベンダーのdoc等を見たら、
確かに一定時間(5秒ぐらい)過ぎたら、
アプリが強制終了すると書いてありました。

destroyAppで重い処理を行うのはやめます。


313:デフォルトの名無しさん
07/08/30 18:34:26
J2ME Wireless Toolkit と Fote for Java 3.0, Community Edition を使って携帯ゲームを

作ろうと思ってるんですが Fote for Java 3.0, Community Edition ってどこでダウンロード

出来るんですか?Sunのページを探しても見つからなくて…

分かる人居れば教えてください

314:デフォルトの名無しさん
07/08/30 19:23:36
×Fote
○Forte

315:デフォルトの名無しさん
07/08/31 00:17:48
外部メモリにデータを書き込む時、

sc = (StorageConnection)Connector.open("保存データファイルのフルパス名");
os = (OutputStream)sc.openOutputStream();
os.write( data, index, length);

と記述すると思いますが、
何故か「os.write( data, index, length);」の
第二引数(index)の値を変えても、
書き込むデータの開始位置が変わらない・・・。

indexは、data[]の何番目の配列から書き込むか、
という指定をするためにあるものですよね?

動作環境は、SoftBankのMEXA エミュレータですが、
MEXA エミュレータのバグでしょうか?それとも私のミスでしょうか?


316:デフォルトの名無しさん
07/08/31 00:54:46
>>313
なんでForte?
もう公開してないんじゃないの多分

317:デフォルトの名無しさん
07/09/01 18:45:48
3GC用にゲームを作っているのですが、
903T、902T、803Tで確認したところアプリが途中で止まってしまいます。
動かしているimageなどが止まってしまうので、
ソースが全く走っていないことになると思うのですが、
なにかしらキーを押すと何事も無く動きだします。

気になる点はimage作成や、image、soundのロード、そしてdisposeなどを
繰り返していくと残りメモリがどんどん減っていくことです。

頻繁にgcしているのですが、メモリがどんどん圧迫されている感じです。
ある一定の値でメモリ使用は増えなくなります。

メモリ不足で端末の挙動が不安定になっているのかな?と思いますが
なにか心当たりありませんでしょうか?

318:デフォルトの名無しさん
07/09/01 20:50:57
>>317
基本的にgcはjavaが勝手にやってくれるから自分でやんなくてもいい。
メモリが減ってくのはimageとかに使ってるからじゃないの?
当たり前だけど、gcしても使ってる分のメモリは解放されないよ。

System.gc();
Runtime.getRuntime().freeMemory();
で残りメモリ量を見ながら、無限にメモリ使っていくプログラムを組んで、
その機種が残りメモリいくつでメモリエラー出るか確認してみるといいのでは。

319:デフォルトの名無しさん
07/09/02 06:22:05
>>318
imageをロードしても、disposeをしてその後gcが成功すれば
そのimage分のメモリは解放されるはずですよね?
(gcがちゃんと行われるかどうかは微妙というの聞いたことがありますが・・・)

他の端末では、ロード、disposeで使用した分のメモリは元に戻るのですが、
上記端末では元に戻らずロードの度に累積していくので、
端末によってgcがされにくいなどあるのかなと思いました。

無限にメモリ使っていくプログラムで確認するのはいいかもしれません。
やってみます。


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

5389日前に更新/284 KB
担当:undef