iモード携帯電話用Jav ..
320:デフォルトの名無しさん
07/05/12 17:45:29
902以降のSystem.currentTimeMillisで1ms単位までなら数値でてるよ。
一応それで回してる。
321:デフォルトの名無しさん
07/05/12 18:17:41
1つ質問よろしいですか?
当方、パズルゲームを現在作成中なのですが
processEventでキーを取得する処理にしているんですが
たまに受け取らないことがあるみたいなんです。
50FPSで処理させているのを25FPSにすると安定するのですが
ゲームで25FPSはちょっと……。
確実に毎フレームとってくる方法なんてのは無いのでしょうか?
なるべくprocessEventを使用した方向で回答をお願いします。
322:デフォルトの名無しさん
07/05/12 18:35:57
固定せずに、可変フレームレートの方が良くない?
323:デフォルトの名無しさん
07/05/12 18:40:23
アプリが4フレーム出てれば良かった頃の人間からすると
えれぇ進化だな('A`)y-~~
324:デフォルトの名無しさん
07/05/12 18:51:36
>>321
普通にgetKeypadState使った方がいいんじゃない?
あと、901以前だと25FPSすら出ない機種の方が多いとおも。
古い機種にも対応させる必要があるなら、10FPSで遊べる内容に調整しないと。
325:デフォルトの名無しさん
07/05/12 18:58:07
>>322
実機が手元に無いのでどんな感じになるか分かりませんが
試してみたいと思います。
>>324
D800iDSなので、キーを受け取るっていうより
タッチしたか、してないかをみたいんですよね。
書き方が悪くてすいません。
実際のところ10FPSで動くようなゲームってどんな感じでしょう?
PCゲームプログラミングに慣れているもので、感じがつかめないです。
326:デフォルトの名無しさん
07/05/12 19:13:54
10フレームでもゲームになってりゃゲームだよ('A`)y-~~
フレームレート上げれるとイベント取りこぼすようになるのは
仕様と思って諦めた方がいい。
BREWとかもそうだし。
327:デフォルトの名無しさん
07/05/12 19:25:01
25フレームとか贅沢もいいところだ
328:デフォルトの名無しさん
07/05/12 20:02:08
>>326
やっぱりそうですか。
対策について一日中考えていたのですが、ちょっと残念です。
329:デフォルトの名無しさん
07/05/12 23:37:28
素直にgetKeypadState使えば解決しそうだが
330:デフォルトの名無しさん
07/05/13 00:38:01
D800iDSのタッチパネルってPointingDevice扱いなんよ。
331:デフォルトの名無しさん
07/05/13 01:32:14
>>329
D800iDSには
「通話」
「クリア(?)」
「電話切る」
の三つしかないんで、getKeypadStateしてもしょうがない。
332:デフォルトの名無しさん
07/05/13 01:48:57
D800iDSのタッチパネルってテンキー表示のとき数字キーのとこをタッチすると
他の機種と同じようにprocessEvent()でDisplay#KEY_1とか上がってくんの?
333:デフォルトの名無しさん
07/05/13 15:38:32
900i以降で、画面の大きさ以上のイメージは読み込めないという機種はあるんでしょうか?
334:デフォルトの名無しさん
07/05/13 15:42:09
定額じゃないから@アプリをPC経由で携帯にUSBでDLしたいんですけど、
PCでDL出来るサイトって無いですか?
335:デフォルトの名無しさん
07/05/13 16:03:26
良く分からんがあるならとっくに使ってる。
336:デフォルトの名無しさん
07/05/13 16:25:18
jam/jarファイルのリンクをローカルにでも作って「対象をファイルに保存」でダウンロードは普通にできると思うが?
337:デフォルトの名無しさん
07/05/13 16:32:25
>>336
PCでアプリをダウンロードして、携帯になにかしらの媒体でコピーして
そのアプリを携帯で使いたいってことでしょ?
それなら無理ってことでしょ。
338:デフォルトの名無しさん
07/05/13 20:46:09
public void keyPressed(Panel,int){}
十字キー押してもこの中に処理が入りません。
数字キーではちゃんと入ります。助けてください。
339:デフォルトの名無しさん
07/05/13 21:29:31
>>338
Panelでは十字キーとかは取れない。Panelが使っちゃうからな。
340:デフォルトの名無しさん
07/05/13 22:56:49
そーだったんですか。ありがとうございます。
341:デフォルトの名無しさん
07/05/15 07:15:14
60FPS近くで処理を終えても、液晶の性能が低く実質30FPSの機種もあるな。
342:デフォルトの名無しさん
07/05/15 10:26:59
実質902以降は15フレーム近辺ってイメージだと思うんだがどうよ?
343:デフォルトの名無しさん
07/05/15 10:33:54
AudioPresenter#getCurrentTime()は、当てにならぬ。機種依存が大きい。
よい子は使っちゃだめよ。
344:デフォルトの名無しさん
07/05/15 13:08:11
>>320
もしかしてこういうこと?
while(System.currentTimeMillis() < wait);
wait += 16;
バッテリー食いそうだなあ。
345:デフォルトの名無しさん
07/05/15 19:13:00
>>344
残り数ミリ秒まではsleepしてるよ。
最後はおっしゃるとおり空回し。
346:デフォルトの名無しさん
07/05/15 21:07:21
sleep()でも電力消費はほとんど変わらないという噂。
347:デフォルトの名無しさん
07/05/15 22:43:24
Σ(;´Д`)
348:デフォルトの名無しさん
07/05/15 22:59:58
タイマーで回しているのは俺だけのようだな
349:デフォルトの名無しさん
07/05/16 02:17:07
sleepと殻回しはどうちがうの?
350:デフォルトの名無しさん
07/05/16 02:18:05
空回しってスリープ無しの事?
351:デフォルトの名無しさん
07/05/16 02:27:42
>>345 さんの意見だと
sleep の中身は空回しじゃないって言う意味でそ
じゃあどうちがうの?って
352:デフォルトの名無しさん
07/05/16 02:31:25
ああ。どうなんだろうね。
353:デフォルトの名無しさん
07/05/16 08:26:01
解ってて言ってるだろww
つまりsleepで9割ぐらいのとこまで待機して、
後は344で正確な値になるまで待つ。
Thread.sleep( wait - System.currentTimeMillis() - 3 )
while(System.currentTimeMillis() < wait);
354:デフォルトの名無しさん
07/05/16 10:48:25
から回しってのは
while(System.currentTimeMillis() < wait)
;
のことだわな。
で、sleepするとバッテリーの消費抑えられたのはP504iなどの昔の超優良真面目機種だけ。
今はまったくかわらん。
というか、などのっていったけどP504iとP504iSだけじゃないか?
355:デフォルトの名無しさん
07/05/16 22:20:57
ソースは?
356:デフォルトの名無しさん
07/05/17 01:40:28
オイスターで
357:デフォルトの名無しさん
07/05/17 04:38:47
FileReaderクラスが見つからないんですが
ファイルからの入力って何を使ってやるんですか?
358:デフォルトの名無しさん
07/05/17 06:56:11
>>357
スクラッチパッドの好きな場所から好きなように入力して下さい。
SDカードのファイルだったら開発ガイドの外部メモリの項目見れ。
359:デフォルトの名無しさん
07/05/17 23:24:29
パレットの使い方が全然分かりません
画像名.setEntry(色番,色);
とやっても、シンボルを解決できないと出てしまいますぅ
画像は普通のImageです
PalettedImageのロードのしかたも分かりません
ネットのAPIリファレンス見ても理解不能
360:デフォルトの名無しさん
07/05/18 00:16:52
>>359
普通のImageではパレット使えない。
PalettedImageはcreatePalettedImageってファクトリメソッドがあるでしょ。
361:デフォルトの名無しさん
07/05/18 00:48:43
Image gazou;
PalettedImage gazou2;
MediaImage pMImage=MediaManager.getImage("resource:///aaa.gif");
try{pMImage.use();}catch(ConnectionException ce){}
gazou=pMImage.getImage();
gazou2=createPalettedImage(gazou);
↑とやってもエラーが出てPalettedImageが作れません。
どうしてでしょうか?!
362:デフォルトの名無しさん
07/05/18 01:40:09
>ネットのAPIリファレンス見ても理解不能
理解できなきゃもう辞めればぁ?
363:デフォルトの名無しさん
07/05/18 02:37:46
>>361
型が違うから。
Javaについてその理解度だと厳しいだろうな。。。
364:デフォルトの名無しさん
07/05/18 12:09:37
対象機種はFOMAで、音声(PCM)をiアプリから鳴らそうとしているのですが、
WAVからMLDファイルに変換するツールとしては、wav2mld(シェアウエア)しか
ないのでしょうか?
W2MFiなんたらというのが開発者向けにありますが、エラーが出てmldが
作成されません。インストール時点から既にエラーが出てるし。。
PCMをiアプリから使う方法として最適なのはどういった方法なのでしょうか?
365:デフォルトの名無しさん
07/05/18 19:03:15
iアプリゲームの作成支援ソフトでお勧めのものがあったら教えてください!
366:デフォルトの名無しさん
07/05/18 19:07:33
>>365
eclipse マジオヌヌメ。
367:デフォルトの名無しさん
07/05/18 19:44:48
>>365
マルチすんな
URLリンク(www.nttdocomo.co.jp)
URLリンク(java.sun.com)
URLリンク(www.eclipse.org)
368:デフォルトの名無しさん
07/05/18 19:50:15
>>363
おまえは質問の悪口ばかり書き込んでるんじゃねえよ
おまえみたいのを荒らしって言うんだ覚えておけ
二度とこのスレに来るな
害虫野郎
369:デフォルトの名無しさん
07/05/18 19:51:27
>>362
おまえは質問の悪口ばかり書き込んでるんじゃねえよ
おまえみたいのを荒らしって言うんだ覚えておけ
二度とこのスレに来るな
害虫野郎
370:デフォルトの名無しさん
07/05/18 20:05:13
>>368>>369
レス番間違えてますよ
>>363じゃなくて>>368
>>362じゃなくて>>369
まあサンプルでも提示しろってこった
371:デフォルトの名無しさん
07/05/18 20:19:23
>>370
いいからおまえはもう来るなって
おまえの不愉快なレスのせいでここが閑散としちまったことに
いいかげん気づけよ
知識があってもマナーのない奴はここには必要ねえんだよ
372:デフォルトの名無しさん
07/05/18 20:21:58
Java初心者を嘲るつもりは全然ないんだが、
>>361はもっと勉強しないといかんと思うぞ。
Imageクラスはbyte配列でもInputStreamクラスでもない。
まずはコンパイルエラーの内容をよく読むんだ。頑張れ!
373:デフォルトの名無しさん
07/05/18 21:03:14
>>364
ドコモが仕様公開しないから完全無料のはまずない。
最適なのはPCMを使わないこと。可能なら動画なし3gpで再生。
最悪ドコモやめる方法も。
374:デフォルトの名無しさん
07/05/18 21:57:43
もしかしてスクラッチパッドってiアプリ更新してもリセットされない?
375:デフォルトの名無しさん
07/05/18 21:58:05
されない
376:デフォルトの名無しさん
07/05/18 22:01:29
PsmPlayerがあるだろ
377:デフォルトの名無しさん
07/05/18 23:47:06
>>371
無能が吠えんなよwwwwww
378:デフォルトの名無しさん
07/05/19 00:46:34
わかってたことだけどVista+JDK6でエミュ動かしたら結構大変なことになった
1つだけ言うとすれば、欲張ってカスタマイズしようとするな、ということだった
とにかくデフォルトで使うようにするとしっかり動く
379:デフォルトの名無しさん
07/05/19 14:31:49
メソッド内にそれ以上書き込んだらビルドはできるけど実行するとエミュに
Maximum byte code length (32kB) exceededって表示されて実行できない状態になってしまった。
やっぱメソッドを削る以外方法はないんでしょうか。
380:デフォルトの名無しさん
07/05/19 15:24:56
iDK for DoJa 5.0を4/23リリースのバージョン3.00に入れ替えてからの
話なんだが。
エミュでアプリ起動するとプロセスdoja.exeが生成されるんだけど、
アプリ終了すると高確率でこのdoja.exeが残る。で、つぎにアプリ
起動しても何も起きない。残ってたdoja.exeを殺すとまたアプリが
起動するようになる。こんなのうちだけ?
381:デフォルトの名無しさん
07/05/19 15:32:46
>>379
縮めろ
>>380
そのバージョンは入れてないから何とも言えんが過去のDojaとかでもたまーに起きた。
エミュ終了時にPCが重いとプロセスが残る可能性が高まる気がする。
382:デフォルトの名無しさん
07/05/20 02:12:39
>>377
負け犬はおまえだろ
質問の悪口しか書き込めない奴はここに来るな
ネットマナーを勉強しろ
383:デフォルトの名無しさん
07/05/20 02:43:09
32KBを超えるメソッドって一体何行あるんだ…
もしかしてこういう形で巨大な配列を初期化してない?
int[] array = new int[]{0,1,2,3,4};
384:デフォルトの名無しさん
07/05/20 03:10:30
2ちゃんでマナーとかワラタ
385:デフォルトの名無しさん
07/05/20 03:19:58
final int data[] = { 1,2,3〜};
をどっかに置いておいてもなるね。
386:デフォルトの名無しさん
07/05/20 04:22:03
>>380
Doja 4.1でもたまになってるよ。
数ヶ月前までは滅多になかったんだけど、ここ1ヶ月では数日に1回はなってる。
WindowsUpdateとの関連性があるのだろか。
387:デフォルトの名無しさん
07/05/20 09:48:45
>>385
え?その一行入れるだけでなるの?
388:デフォルトの名無しさん
07/05/20 10:18:40
>>387
巨大な場合だぞw
389:379
07/05/20 10:51:03
>>383
int[] array = new int[]{0,1,2,3,4};はそんなに巨大じゃないけど
一応メソッドの外に出してみます。
一応ソースの一部
URLリンク(zif.hp.infoseek.co.jp)
シューティングっぽいやつだけど素人のプログラムでちょっと恥ずかしいね。
390:デフォルトの名無しさん
07/05/20 10:56:25
docomoから画面も広くて回線も早い携帯が出ますよね
Nだったかな
それ専用の2chブラウザ作って欲しい
他のブラウザと違う所は絵や写真のうpをブラウザで表示できる事
PCのブラウザでは普通だけど今までの携帯ではできませんよね?
iアプリを作ってスレを探せなかったのでここにレスしました
391:デフォルトの名無しさん
07/05/20 11:13:55
>>384
消えろ
392:デフォルトの名無しさん
07/05/20 11:30:46
>>389 巨大な配列は、長い文字列にコード化して持っておくと結構小さくなるよ。
初期化時にInteger.parseInt()などで数値化する。
393:デフォルトの名無しさん
07/05/20 11:32:38
>>389
exe()が長すぎ。3000行もあるじゃん。
メソッド分割してみなよ。
ってスタックに変数乗せてるこの構造だと分割も面倒そうだね(苦笑
とりあえず「ゲーム画面」のところだけでも別のメソッドに移せれば…
394:デフォルトの名無しさん
07/05/20 11:39:21
うわん、読みにくいコード
でも他人のは参考になる
395:デフォルトの名無しさん
07/05/20 11:47:17
>>390
自分にレスだけどW2Chで出来たみたい。スマソ
396:デフォルトの名無しさん
07/05/20 11:50:08
W2Chなんてものあったのか
iMonaしかしらねーや
397:379
07/05/20 15:49:00
みんなレスやアドバイスサンクス
>>392
int[] array={1,10,100};を
String array="1,10,100";にすればいいんでしょうか。
>>393
がんばってメソッド分割に挑戦してみます。
>>394
ゲームの基本的な構造は
URLリンク(www.saturn.dti.ne.jp)
この本を参考にして後は自己流で行ったらどんどん読みにくくなってってしまった。
398:デフォルトの名無しさん
07/05/20 19:49:00
>>397
がんばれ
399:デフォルトの名無しさん
07/05/20 20:26:53
>>396
消えろ
400:デフォルトの名無しさん
07/05/20 21:49:46
>>397
構造ってよかコメントとか行間の取り方の問題の気がする。
つーか、プリプロセス済みソースみたいだしw
その辺は経験かね。
401:379
07/05/21 00:54:36
>>400
ソース公開するつもりはなかったから自分だけ分かればいいや
って感じで適当にコメントしてしまった。
後から考えたら変なコメントばっかでちょっと恥ずかしくなったw
まあゲーム内容も恥ずかしいけどね。
402:デフォルトの名無しさん
07/05/21 02:56:46
そんなどうでもいいとこ恥ずかしがる前に
きみは「初めてのプログラミング」みたいな本を読んだ方がいいよ
403:デフォルトの名無しさん
07/05/21 07:10:57
ソース公開したら、ここ見てる会社の同僚に
1発で俺ってばれるから駄目だなw
404:デフォルトの名無しさん
07/05/21 16:17:52
本を読むより生きたコードを読むほうがいいんじゃね?
こういうやり方もあるのか!みたいな感動をたくさん味わってほしい
405:デフォルトの名無しさん
07/05/21 20:19:18
それは基礎知識があってのことだろう
1つのメソッドで3000行も書くようではやはり
他人のソースを読み解くより先に基礎知識を身に付けるべきだろう
406:デフォルトの名無しさん
07/05/21 22:16:45
でも普通にプログラミングの本、特にオブジェクト指向の本なんて読まれた日には・・・
お願いだ。iアプリにクラスを30個も作らないでくれ・・・
407:デフォルトの名無しさん
07/05/21 22:22:01
その辺のさじ加減はC/C++/Javaができる人がうまい気がする。
そんだけできれば上級者だからってだけかもしれんけど。
408:デフォルトの名無しさん
07/05/21 22:40:42
今44クラス8インナークラスありますが何か?
409:デフォルトの名無しさん
07/05/21 22:42:00
903まで行ったら結構クラス作っても大丈夫。
iアプリでJavaもどき使うようになって、
初めてJava使って書いたって気がしたよ('A`)
410:デフォルトの名無しさん
07/05/21 22:47:59
よほど多機能なアプリじゃない限り、100kあればオブジェクト指向っぽくいけるかな。
30kだときびしい。
411:デフォルトの名無しさん
07/05/21 23:10:15
しかし
au移植などもふまえるとクラスの数がぐっと少なくなる罠
412:デフォルトの名無しさん
07/05/22 00:00:00
というかむしろ最近はauから移植することが多くなった
413:デフォルトの名無しさん
07/05/22 00:08:04
さらにau新規の話が来ない
414:デフォルトの名無しさん
07/05/22 00:10:00
つまり話をまとめると・・・・?
415:379
07/05/22 00:33:31
みんなアドバイスありがとうございました。
一応JAVA入門だか読んだけどメソッドは2回以上呼び出し
がないと作る意味ないと思ってたからどんどん長くなってしまった。
416:デフォルトの名無しさん
07/05/22 02:35:43
すっ飛んだ思い込みは禁物だぜw
今回は勉強になったろ、これからも頑張れー
417:デフォルトの名無しさん
07/05/22 07:48:20
>>413
それは公式コンテンツはオープンアプリ不可だから。
一般の人にとってどうでもよさそうなところをねちねち制限しまくるauうざい
418:デフォルトの名無しさん
07/05/22 19:54:57
浮動小数点計算が含まれてたら実行エラーって・・・
俺が何したって言うんだ。
419:デフォルトの名無しさん
07/05/22 20:00:08
浮動小数点演算。
420:デフォルトの名無しさん
07/05/22 20:40:07
Graphics.drawString()に文字列定数渡して描画してるだけで
じゃんじゃんヒープ食うんだけど、これ仕様? エミュレータだけ?
421:デフォルトの名無しさん
07/05/22 21:02:13
>>420
仕様。
というか何もしないでループまわしてるだけでもヒープ減っていくでしょ。
422:デフォルトの名無しさん
07/05/22 21:40:29
N903iでは減らない
N901iS以前はじゃんじゃん減る
423:デフォルトの名無しさん
07/05/22 22:35:31
リークしてるって話?
それともSystem.gc()で済む話?
424:デフォルトの名無しさん
07/05/23 02:22:10
>>423
消えろ
425:デフォルトの名無しさん
07/05/23 02:40:45
>>423 後者
426:デフォルトの名無しさん
07/05/23 08:25:24
後者だけどsystem.gc()自体
端末によって実装が違うからな
system.gc()かけても内部では無視される端末とかある
427:デフォルトの名無しさん
07/05/23 11:55:13
カンマ区切りの文字列を配列で取得しようと思っていたのですが
iアプリではsplitが使えないことに今気付いてしまいました。
それに代わる関数やセオリー書式のようなものはありますか?
428:デフォルトの名無しさん
07/05/23 12:04:49
indexOf(),substring()
429:427
07/05/23 12:08:06
>>428
即レス感謝です。
各要素のバイト数を揃えさえすればそれでいけますね。
ありがとうございました!
430:デフォルトの名無しさん
07/05/24 11:52:24
ところでおまいらDoJaを何て読んでる?
ドジャ、ドージャ、ドゥージャ等。
431:デフォルトの名無しさん
07/05/24 11:55:08
どーじゃ
432:デフォルトの名無しさん
07/05/24 14:11:59
ディオージェイエイ
433:デフォルトの名無しさん
07/05/24 14:57:49
じゃばでどーじゃば?
434:デフォルトの名無しさん
07/05/24 19:58:42
環境:eclipse3.1.1 + Doja5.0
InputStream pinput = Connector.openInputStream("scratchpad:///0;pos=0");
実行時に上記の部分で
java.io.IOException: Illegal position
が発生しました。
スクラッチパッドへアクセスできないようなのですが、
何が原因なのでしょうか・・・?
何かしらの設定が必要?
435:デフォルトの名無しさん
07/05/24 20:00:31
必要
436:デフォルトの名無しさん
07/05/24 20:01:40
ADFのスクラッチパッドサイズ(SPSize)を設定汁
437:434
07/05/24 20:08:40
SPSizeに値を入れると「スクラッチパッドの作成に失敗しました。」
となります。
これはプロジェクトの新規作成時に
デフォルトコンテンツを指定しなかったことが原因のようなのですが、
なので、直接jamを編集すると、今度は
「SPsize の指定可能サイズは -5341677Byte なので、それ以下の値を設定してください」
となって起動すらできなくなってしまうのです・・・。
438:デフォルトの名無しさん
07/05/24 22:03:40
Dojaの作るスクラットパッドとeclipseのスクラットパッドは別物だからそれが関係してるんかな。
もしくはspフォルダが書き込み禁止になってるとか。
これくらいしか思いつかん。
439:デフォルトの名無しさん
07/05/24 22:05:24
スクラットパッド
440:デフォルトの名無しさん
07/05/24 22:07:58
お前ら、ちゃんと書き込む前に確認するんだぞ。
特に俺とか
441:デフォルトの名無しさん
07/05/24 22:37:17
コードアシストがないと生きられない身体なのさ・・・
442:デフォルトの名無しさん
07/05/24 23:30:41
たぶんものすごく初歩的な事なのですが、聞くは一時の恥という事で質問させて下さい。
エミュレータで実行しようとすると、pac内にStartAppが無いと怒られるのですが、
startとの違いは何なのでしょうか?
メインのクラスはIApplicationを継承していて、それによって自動でstartメソッドが追加されている状態です。
なのでstartで良いのだと思っていたのですが・・・
環境はeclipse3.2とDoja5.0です。
443:デフォルトの名無しさん
07/05/25 00:32:45
>442
まず君は、ネットや本にあるサンプルを、
とばしたりせず手順通りに実行してみるべきだと思うんだ。
444:デフォルトの名無しさん
07/05/25 01:51:50
eclipseとか使うなってw
445:デフォルトの名無しさん
07/05/25 07:08:18
Doja5.0のエミュ落としたら会社で使ってるのとデザイン違ってて驚いたw
446:デフォルトの名無しさん
07/05/25 15:10:55
iαppliTool for DoJaの、コンソールのフォントを、変更できないものでしょうか?
ここが等幅フォントでないと、たとえばコンパイルエラーメッセージの「 ^」の
位置が合わなくてあまり愉快でないとか、いろいろあるんですが。
447:デフォルトの名無しさん
07/05/25 22:37:36
eclipseを使いやすいように設定し、完全に使いこなせるようになるのい数週間は掛かる。
ちょっとした物なら適当なテキストエディタを使って組んだ方が早い。
448:デフォルトの名無しさん
07/05/25 23:25:23
そして、eclipse使うほどの規模のものになってくると容量詰め込みのために
プリプロセッサを使い始め、eclipseを使う理由の70%を失う。
449:デフォルトの名無しさん
07/05/26 03:40:33
プリプロセス通した後のをEclipseでデバッグというのはやった。
450:デフォルトの名無しさん
07/05/26 07:39:18
>>447
数週間ってどんだけスペシャリストにするつもりなんだ。
1日あれば最低限の機能は問題なくつかえるようになる。
451:デフォルトの名無しさん
07/05/26 10:29:17
>1日あれば最低限の機能は問題なくつかえるようになる。
それは正しくインストールと設定ができてて、さぁ使ってください、な状態での話でしょ。
ビルドできない、○○エラーが出る、よくわからないけど動かない、
とか問題の切り分けができない初心者はeclips使うなよ、と思う。
公式のビルドツールだけで最低限アプリは作れるんだから、
まずそれでアプリを作れるようになって、
その上で使いにくさとか感じるようになってからeclipsなりantなり好きに導入しろよと。
452:デフォルトの名無しさん
07/05/26 11:10:12
それは一理ある
453:デフォルトの名無しさん
07/05/26 14:15:37
public class test extends Canvas {
int a[];
public test( Canvas c ) {
a = c.getGraphics().getRGBPixels( 0, 0, 240, 320, null, 0 );
}
public void paint( Graphics g ) {
g.setPixels( 0, 0, 240, 320, a, 0 );
}
}
DoJaエミュだと、呼び出した(newした)側のコピーで別canvas描けてるんだけど、
実機(SH903i)だとうまくいかない(画が乱れる・・
回避する方法とか知ってる方いますか?
454:453
07/05/26 14:34:59
newした側の内容がimageだと起こるようです、
文字列描画だけのcanvasだと実機でもできました
455:デフォルトの名無しさん
07/05/26 14:57:53
setRGBPixel()かな
456:453
07/05/26 15:07:47
>>455
setRGBPixelでいけました、
ありがとうございます
457:デフォルトの名無しさん
07/05/26 18:53:58
>>451
>それは正しくインストールと設定ができてて、さぁ使ってください、な状態での話でしょ。
インストールからやらせてるけど、何の問題もないよ?もちろんアプリ作成初心者にやらせてる。
iアプリ専用ツールで作業するより、
・他のキャリア開発でも同じ環境で作業できる
・eclipseのコード入力支援をうけられる
という利点のほうが大きい、とうちでは判断してる。
実際何の問題もおきてないし、むしろJAVAに対するフォローを入れる機会が減ってる。
あぁもちろん仕事での話だ。個人なら好きなのでいいんじゃない?
458:デフォルトの名無しさん
07/05/27 02:15:03
今はCLASSPATHを理解しなくてもそんなに困らないからな
459:デフォルトの名無しさん
07/05/27 23:00:56
DrawStringで文字を描画したときiαppliTool for DoJa-5.0(FORM)と実機(P902iでのみ確認)とでは
文字の位置がずれてるのですが機種によって描画位置がずれるのですか?
それともエミュのほうがずれてるのですか?
教えてくださいお願いします。
460:デフォルトの名無しさん
07/05/27 23:05:52
縦方向にずれるって言うんなら
Fontの『アセント』と『ディセント』について調べてみてくれ。
それが機種によって違う。
461:デフォルトの名無しさん
07/05/27 23:26:30
>>460
回答ありがとうございます。
しかし実機では右上の方にずれるので原因は違うようです。
アセントとディセントについても調べてみます。
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が必要なのでしょうか。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4205日前に更新/254 KB
担当:undef