[表示 : 全て 最新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/


552 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 09:15:47 ]
この程度で面倒くさいとか
そもそもこの程度の問題も解決出来ないとか
日本のJ2MEで特にDojaだけで触っている輩は
ほんとレベル低いよな

553 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 09:21:56 ]
そういえば最近Doja5.1を入れたんだけど、
先に入れてたDoja5.0が邪魔したのか
Doja5.1のデフォなのか
EclipseのiDKへのパスがDoja5.0
のままで起動できなくなったな
Doja5.1へのパスに直したら
起動できるようになったよ

554 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 09:27:59 ]
>>540
引数として必要な値だから引数を取るのです。
第一の判断基準が面倒くさいなのはとんでもなく糞設計ですね。
そんなプログラムで再利用は出来るのですか?

555 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 10:31:38 ]
まぁ、昨日今日始めた素人だろうからしょうがないよ。
高校生くらいだろきっと

556 名前:デフォルトの名無しさん [2008/05/23(金) 10:31:53 ]
>>552
自分用時刻表作るだけなのにそんな事言われたくないわ

557 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 11:04:42 ]
>>547
俺がエスパーしてやる

コンパイラのバージョンを1.3にする

558 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 11:10:21 ]
vimで開発してるけどEclipseのメリットがいまいち分からん

559 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 11:14:04 ]
>>556
あなたのプログラムのモラルの低さが露呈されてます

560 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 11:19:12 ]
>>559
あなたの人間としてのモラルの低さが露呈されてます



561 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 11:29:51 ]
プログラム技術のスレなんで、人間性とかモラルとかどうでもいいから。

562 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 11:33:07 ]
人間としてのモラルが低いのはむしろ>>556だろうなw

563 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 11:35:55 ]
>>562
で?

564 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 14:12:59 ]
JavaプログラマーがDoJaプログラマーを笑うとは
まさに目糞鼻糞を笑うだな

565 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 14:15:34 ]
>>563
くやしかったの?

566 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 14:17:36 ]
平日の昼間っからにニートが騒ぎ出す・・・!

567 名前:547 mailto:sage [2008/05/23(金) 22:09:31 ]
帰ってきたぞやろーども( ゚д゚)

>>548
直接エミュからやればできると言ってるだろうがボケナス( ゚д゚)
お前の方がプログラマー向いてないわこのアンポンタン( ゚д゚)

>>549
eclipse3.3.2
DoJa5.1です

>>550
( ゚д゚)人(`益´ )

>>552
誰だって最初は初心者だろうがこのスカポンタン( ゚д゚)

>>553
最初から5.1入れたしそれは大丈夫


568 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:30:33 ]
('A` ) プゥ
ノヽノ) =3 ゚д゚)ノ
  くく  へヘノ

569 名前:デフォルトの名無しさん mailto:saga [2008/05/23(金) 22:32:13 ]
外側に変数を設定すれば
引数を使わなくても戻り値を設定しなくても済むのに
なんでいちいち面倒くさいことしなくちゃいけないのか


570 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:53:29 ]
さては本物だなこいつ



571 名前:549 mailto:sage [2008/05/23(金) 23:23:03 ]
>>567
たぶんeclipseのバージョンが原因
ttp://www.nttdocomo.co.jp/service/imode/make/content/iappli/tool/doja51/index.html

572 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:35:29 ]
PATH に空白を含むフォルダが含まれると駄目、とかなかったっけ?

573 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:53:49 ]
>>567
で、本当にプロジェクト名に半角スペースは入れていないんだな?
極力最小に、英字だけでトライしてみれ
絶対パスに半角スペースの入らない場所にプロジェクトを置け
あとEclipseが起動しているなら大丈夫だと思うが、JAVA_HOME、CLASSPATH、PATHの設定を確認しろ
DojaSDKはこれらの設定をしなくても動くから、
悪い意味で至れり尽くせり起動が出来ることは参考程度にしかならん
JDK_HOMEにはJ2SE 1.4を使え
(eclipseはecjだからあまり関係ないとは思うが)
頑張れアンポンタン

574 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:04:43 ]
>>569
再度問うが、仮に平方根を求めるMath#sqrt()がお前の言うモデルの場合に再利用しやすいのか?
引数、戻り値を使えば、3つの平方根を求めるのに3つのセンテンスですむ
お前のやり方だと値のセット、メソッド実行、結果取得の3センテンス * 3で無駄が多い
とてもじゃないが楽では全くない

そもそも関数がなぜf(x)なのか、中学から出直してこい

575 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:13:17 ]
>>574
まぁまぁ。
本人がそれで分かりやすいと思っているのならそうやってプログラム組んでいけばいいじゃないかと思う。

・・・俺はそのプログラムの保守とか絶対やりたくないけど。

576 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:23:36 ]
だから言ってるんだよ、俺はいつも。プログラムは知識ではない、と。経験なんだよ。
なんでも頭で考えたら解決できる、と思ってるタイプの人間はプログラムに向かない。
経験で感覚をつかみ、感覚的に理解して自然に使えるようになるのがプログラムの技術だ。

577 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:41:03 ]
例えば、あるクラスの計算式を使って結果を得るのに、
int result = hoge.getResult(a, b, c);
とするのがいいのか
hoge.x = a;
hoge.y = b;
hoge.z = c;
hoge.calculateThem();
int result = hoge.result
とするのがいいのかって話?


578 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 01:02:17 ]
>>576
お前経験無いみたいだな

579 名前:547 mailto:sage [2008/05/24(土) 01:12:16 ]
>>571
おおおおeclipse3.1に落としたら起動できるようになった!!多謝!!
実は「eclipseではじめる「iアプリ」開発」って本見ながらやってるんだけど
その本の付属のCDに入ってるeclipseが3.3.2なんだよね
著者はちゃんと動作確認してるのか・・・?3.3.2で起動できた人いるかな?

>>573
それらの設定は大丈夫(たぶん)
なんせエラー文とか全くでないんだもん・・・
心配サンクスこのツンデレヤロウ( ゚д゚)


580 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 02:47:35 ]
>>579
お疲れボケナス
確か漏れは会社で3.2系を使ってたと思った
良かったら試してみ
日本語化はPleiadesが個人的にオススメ



581 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 03:06:53 ]
Eclipse 3.3.2と3.2 + Win Vista Home Premium + JDK 1.6
で動いてるよ。設定でターゲットバージョンを1.3にしないと動かないけど。
3.1はデバッグやエディタにバグがあるからお勧めしない

582 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 10:25:40 ]
>>576
経験は確かに大切だが、知識もやはり大切。
経験を積めば自然に知識も増えていくはずだ。
経験を積んでいるのに知識が増えていかないのであればそれは偏った経験なのか、
プログラムに対する興味・意欲が無いのであろう。

・・・そんな俺は就職当時に初っ端から現場投入されて、
偏った知識しか身につかなかった為に今更基礎をやり直してる最中・・・。

583 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 11:27:55 ]
>そもそも関数がなぜf(x)なのか
全くだ
v = f(x) + f(y) + f(z);
がドンダケ〜分かり難くなるか

584 名前:デフォルトの名無しさん mailto:saga [2008/05/24(土) 12:42:52 ]
だから引数形式だとbaka(変数,変数,変数,変数,変数,変数,変数.......);
とたくさん変数渡すときめんどくさいっつーの
あとその変数全てを戻値にしたいときも超めんどくさい




585 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 12:45:11 ]
この馬鹿をなんとかしろ

586 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 13:01:06 ]
プログラムの可読性・保守性 >>>>>>>>>>>>> baka(変数,...)

587 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 13:14:51 ]
>>584
なんのためのクラス化だよ

588 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 13:24:43 ]
メンバー変数にセットする方式だと、メンバー変数の名前全部知らないといけないじゃん
めんどくさいっつーの

あと、引数で渡したプリミティブな変数を、関数内で書き換えさせ結果を取得したい。なんてシチュエーション思いつかない。
何をする関数なんだそれは?
というか、関数化しなくていいじゃんそれ。

589 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 13:30:18 ]
>>584
配列で渡して配列で返せよ馬鹿

590 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 13:31:12 ]
//パターン1-----------------------------------
int hikisu1 = 1;
int hikisu2 = 2;
int hikisu3 = 3;
int hikisu4 = 4;
int hikisu5 = 5;

kansu1(hikisu1,hikisu2,hikisu3,hikisu4,hikisu5);

//パターン2-----------------------------------
class a{
int hensu1;
int hensu2;
int hensu3;
int hensu4;
int hensu5;
}

a.hensu1 = 1;
a.hensu2 = 2;
a.hensu3 = 3;
a.hensu4 = 4;
a.hensu5 = 5;

kansu2(a);
//--------------------------------------------
よく分からんがパターン1と2のどっちの方が簡単?
って話?



591 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 13:34:23 ]
パターン2はそれですらなくて
m_hensu1 = 1;
m_hensu2 = 2;
m_hensu3 = 3;
m_hensu4 = 4;
m_hensu5 = 5;

kansu2();

ってやりたいんだと。意味がわからん。(m_〜はメンバ変数)

592 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 13:36:09 ]
ここはiアプリスレなんだが。

593 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 13:38:49 ]
プログラム板のiアプリスレなんだが。

594 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 13:41:38 ]
センスねえ奴には何言っても無駄。
だからこそセンス無いのだから

595 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 14:14:09 ]
何言っても無駄って事はない。
センス無いとか、どこのアホがこんなの組んだんだよとか言ってたら
治療に専念するとか言ってそいつ辞めたし。

596 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 14:59:43 ]
自分専用アプリの極小規模開発なら、こんな組み方でも文句はさほど出ないだろう。
でも仕事でプログラムを組んで飯を食っているのなら、こんな組み方は止めるべきだな。

597 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:03:57 ]
お前らwww

598 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:07:16 ]
個人、小規模なら全然それでも構わないと思うけど
ただ複数でやったり規模が大きくなるとカプセル化とかしっかりやっとかないと
思ってもみないところで変なコード書いちゃって地獄をみることになる

599 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:34:24 ]
>>596 >>598

>>556
と言っているから
その組み方で別に構わない でFAか。

ま、俺はそうは思わないがw

600 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:55:02 ]
PC向けならまともな書き方をするけど、
iアプリでは、サイズが縮むのなら、わざと汚い書き方を選ぶときもある。



601 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 19:25:30 ]
わざと汚い書き方を選ぶことはあるが
このケースはそれに当たらないだろ。
そこまで一般化して話されてもw

602 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 19:32:26 ]
どうでもいい話だね

603 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:35:36 ]
com.nttdocomo.ui.UIException: Media image is not usable
という例外が発生するのですが、なぜでしょうか?
resフォルダの中に該当ファイルも入っていて、jarを解凍してもちゃんとファイルが入っています。
下記、処理部のみ抜粋。

MediaImage mi = MediaManager.getImage( "resource:///9_21.GIF");
mi.use();
Image image = mi.getImage();
g.drawImage(image,10,10);

604 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 20:55:28 ]
>>603
エラーメッセージをそのまま突っ込んでググったら色々出てきたけど?

605 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 21:22:51 ]
>>603
色々ぐぐった上での質問でしたが、原因は自分の凡ミスでした(;´Д`)
すいません、お騒がせしました。。

606 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 22:11:22 ]
>>605
何をどう凡ミスしたのか書いてけや

607 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 03:46:14 ]
>>584
>>あとその変数全てを戻値にしたい
>>ときも超めんどくさい
設計が悪い。『その変数全てを戻値にしたい』なんてて意味不明な事象はない。
複数の結果が欲しいなら結果用のクラスを戻す、乃至はJ2MEなら配列に複数の結果を格納して戻すメソッドにする。
例えばLvや今のステータスから新しいステータスを計算するメソッドでも、
引数と戻り値を使ってメンバには触れないメソッドであれば
事前に任意のLvのステータスを知ることが可能で
、デバッグやパラメータ調節を比較的しやすく出来る。
プログラムの基本は面倒か否かではなく、再利用・汎用性・保守性だよ。ゲームに於いてもデバッグを容易にするために例外ではないはず。

608 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 03:56:51 ]
>>599
メンバに触れるメソッド
メンバに触れてはいけないメソッド
とかの分類が出来るはずだから。
IApplication#start()やThread#run()とか、
総合的なメソッドであの書き方なら解るけど、
部品の様なメソッドであればアレはあり得無い

609 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 04:05:56 ]
>>602
職場とかでそんな馬鹿と一緒に仕事することになっても文句言うなよ?
あいう馬鹿のせいで辛い目に会っている人は沢山いるはずなんだから。

610 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 06:51:27 ]
何が問題なのか分からない
好きに組めばいいじゃない



611 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 10:04:58 ]
素直に配列使えって言えばいい話なんじゃないの?

612 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 12:37:47 ]
iアプリの話しようよ…

613 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 13:06:25 ]
どのiアプリが面白いですか?

614 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 13:19:52 ]
DojaはJavaで書くんだぜ
Javaを無視するならJava以外で作れってこった
自由にするのもルールを守った上で
言語にも思想があるわけで
何でも有りな無法地帯ではないよ

615 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 14:16:38 ]
でも、Javaそのものについては、ほかのところで聞いたほうがいいと思うよ。

616 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 14:22:52 ]
そのソースちょっと見てみたいw

617 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 19:37:50 ]
最近Scalaが流行ってきてるけど
これでiアプリ作った人いない?

618 名前:デフォルトの名無しさん [2008/05/25(日) 21:03:51 ]
GIFのパレット値を変更して、同一画像の色を変更しようと思っています。
PalettedImage.getPalette()で取得したPaletteオブジェクトの色情報を変更して
再度setPalette()したところ、エミュレータ上では問題無く描画されるのですが
実機上だと色が化けてしまいます。同じ現象に遭遇した方いたら、回避方法を教えて頂けませんか?

ちなみに端末はF905iです。Doja5.0

619 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 21:12:38 ]
色化けくらい気にスンナ(゚∀゚)

というとアレだが、機種毎にGraphicsのRGBって違うんじゃなかったっけ?
酔っ払ってる上に最近アプリの仕事は中国人にやらせないと利益出ないってんで
俺は遠ざかってて詳しい事言えん。
以下にロクなアドバイスが無かったらRGBの値が全機種共通で使えるかについて
調べてみて欲しい。

健闘を祈る。

620 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 21:29:02 ]
>>619
うーん。RGB値は各種端末で同じだとは思うんですが、パレット周りで帰ってくる値は
もしかしたら機種依存だったりするのかなぁー。明日別の機種を借りて試してみます。
パレットのRGB値が機種依存だったらショック!

Palette plt = pImg.getPalette();
int c, A, R, G, B;
for( int idx = 0 ; idx < plt.getEntryCount() ; idx++ ){
 c = plt.getEntry(idx);
A = c >> 24 & 0xFF;
 R = c >> 16 & 0xFF;
 G = c >> 8 & 0xFF;
 B = c & 0xFF;
}



621 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 21:31:08 ]
機種依存じゃよ

622 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 21:42:01 ]
>>621
やっぱりそうですか。。。
うーん。なんか良い感じに全機種で回避出来る方法ないか模索してみます。
ありがとうございました。

623 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 00:54:51 ]
createImageして、getGraphicsし、
それに機種依存値をsetColor、drawRectし、
getPixelするとか。
試してないけど。

624 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 01:00:49 ]
GIFデータの方をメモリに置いといてパレット情報だけ書き換えてから
createImageしたら?

625 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 01:01:42 ]
ヒント与え過ぎ。
もっと考えさせて。

626 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 01:11:26 ]
>>607
昨今はiアプリであっても
クラスをどんどん作って保守性を高める方向で作ることが可能になりつつある…ということですね

自分の場合は未だに「極力昔の端末にも対応してほしい」等の要求がきてしまうので
クラスを作る=jar容量が増える=端末に入らない
=クラスの数どころかメソッドの数まで最小限にする
=結果を返すためだけのクラスを作るとはそれなんて富豪的プログラミング?
という感じでありまして(涙目)

現行機種にのみ対応すればいいという状況と昔の機種にも対応すべしという状況では
何がベターなやり方なのかが結構変わってくる・意見が大きくすれ違いそうではありますね
特にiアプリの場合、その違いはPC向けのソレよりはるかに大きいのではないかと思うときもあります
個人的には、是非とも保守性・再利用性を高める方向で作りたいのですが…
今日もまた、グローバル変数を羅列する仕事が始まるお…

627 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 01:18:26 ]
>>624
膝を打ちました
GIFファイルの中からパレットデータ(RGB値)を読んで、どこかにそれだけ残しておいて
Paletteを変更する時はそのどこかに残したRGB値を対象にしながら変化させ
かつその変化させた値をPaletteに設定、で全機種対応できるはずということですね!
てっきりGIFとは別にパレットデータだけ事前に用意しておかなければいけないのかと思ってましたが
GIFの中にあるんだからそれを読んで使えばいいのか…

628 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 02:13:39 ]
おまえ何歳だよ

629 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 02:19:07 ]
スプライトについて、MIDPの場合は表示する順番を指定してnextFrameメソッドを実行すれば
画像が動いてくれていたのですが、dojaの場合動きません。
Sprite型の配列に
spr[i] = new Sprite(img_1, 72 * i, 0, ( 72 * i ) + 72, 72);
として格納したあと、SpriteSet型オブジェクトにssを
ss = new SpriteSet(spr);
として、それを
g.drawSpriteSet(ss);
で描画しているのですがspr配列の0番目の画像しか表示されません。
DoJaではSpriteを順番に表示してアニメーションをさせるような事はできないのでしょうか?
また、SpriteSetのコンストラクタへの引数はSprite配列しか受け付けないにも関わらず0番目の画像しか表示できないのですが、
何故配列のみしか指定できないのでしょうか?

630 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 02:23:10 ]
RPG作ってるんですがメモリ不足かなにかで落ちまくります
今アイテムを64個持たせてたりマップのレイヤーが四層だったりしてますが
どのくらいが適切なんでしょうか?



631 名前:618 mailto:sage [2008/05/26(月) 02:46:19 ]
618で質問した者ですが、パレット変換のテストアプリを作ってみました(F905iでのみ動作確認済)。

0キーは初期化(変更値リセット)
1〜3キーは各RGB値増加
4〜6キーは各RGB値減少
7〜8キーは明度の増減

www.igotfree.com/keitaiapp/iapp/Download.html

GIFのパレットを最初に取得して機種依存のRGB値で一度描画した後に
その描画領域をgetRGBPixels()でint配列へ取得しておき、RGB値を変更後は
PaletteへsetEntry( idx, Graphics.getColorOfRGB( r, g, b ) )で再設定する方法で
今回は御茶を濁すことにします・・・。


632 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 02:50:29 ]
>>630
アイテムは8個まで。マップのレイヤーは2階層までが適切でsうぇqw

633 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 02:56:28 ]
アイテム8個っつーか16個未満にしなきゃいけないのは常識だろ

634 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 09:08:11 ]
>>626
基本的にその考えは間違い。
504時代でさえ「まずは綺麗に組んで、その後容量のために汚く崩す」

汚いを綺麗にするのは難しいが、綺麗を汚くするのは簡単だからな。
プリプロセッサを利用して、関数をマクロでやるようにするとか。


635 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 09:09:51 ]
>>630
アイテム一つに1MBもの情報量を持たせてるだって!?
そりゃ64個も持たすのは無茶だ!

マップ1レイヤーに1GBものデータを!?
無茶な!

636 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 13:36:19 ]
1MBなわけないじゃないですか、メンバは定数7個(static)にint型8個とクラス1個くらいです
レイヤーはshortで15*15*4くらいのマップしか作ってないんですが多すぎですかね
メガアプリの予定なので、動かすのはある程度、新しい機種のはずだしいけるかなって思ったんですが

637 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 13:40:17 ]
>>636
君はまず「かなにか」という名の魔物を追い払いなさい

638 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 13:51:22 ]
それがキャッチできないんですよね、Throwableで全部くくってるんですが

とりあえず量的に直ちに問題だというようなものではないですよね

落ちるのは、マップ移動で配列を作り直すとき、と他にアイテムを表示する時に
アイテム表示用のクラスに突っ込んで描画しているんですが、そのクラスをメニュー
を閉じる時に削除していて、その時に落ちたりします
エミュレータでは大丈夫で実機だと落ちるのでメモリ関係なのかなと予想したんですが

639 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 13:55:36 ]
ソース出してみれ

640 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 13:57:09 ]
どの部分ですか?
結構多いんですが



641 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 14:03:58 ]
原因箇所をかなり特定できているのならその部分を。

そうでないのなら可能な範囲でできるだけ。

642 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 14:10:14 ]
>>637
あのさ、俺636なんだけど
>1MBなわけないじゃないですか
イヤミもわからん頭でプログラムは無理だと思うよ。

お前は質問者としての礼儀とか一切ないのな。
チャットじゃねーんだから、必要な情報は1回で全てだせ。

643 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 14:10:49 ]
えらそうなこと言いながら、レス番1つずつずれてて俺涙目。

644 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 14:15:32 ]
じゃあとりあえずマップの作成部分から

private void loadImage( int number )
{ 
  switch( number ){
   case 0: chipImage.loadImage( "mapchip00.gif", 15, CS, CS ); break;
   case 1: chipImage.loadImage( "mapchip01.gif", 15, CS, CS ); break;
  }
private void destroy()
{
 map = null;
 chipImage.destory();
 //chipImage = null;
}
// マップ移動のイベントを踏んだらこの関数を呼び出してます
  public boolean create( int number )
{  
 destroy();   
 loadImage( number );     
  try {   
   InputStream in = Connector.openInputStream( "resource:///"+ MapData.MAP_LIST[number] ); 
   /* マップのサイズ取得 */ 
   map = new short[LAYER][row][col];  
   /* 一バイトずつ読み込んで配列へ */
   /* キャラクタの作成 */
  }catch( Exception e ){
   System.out.println( "Map.create"+ e );
  }
  return true;
 
 }

645 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 14:27:00 ]
>>642
1Gって書いてるのにイヤミだって解らないわけないでしょう
配列で1Gってそんなもん作ると思ってるんですか?
それを踏まえた上でのレスですから

646 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 14:30:56 ]
ちなみにエラー関係はこうやってキャッチしています
 public void run()
 { 
  try{ 
   do{
    input.update();    
    mainLoop();  
    repaint();
    fps.control();  
   }while( true );   
  }catch( Throwable e ){   
   Dialog d = new Dialog( Dialog.BUTTON_OK, "エラー" );
   d.setText( "Message:" + e ); d.show();
   System.out.println( "thread:" + e );   
  }
 }
 public void mainLoop() 
 {
  try{
 // ゲームの処理   
  }catch( Exception e ){
   System.out.println( "mainLoop:" + e );
  }
 }

647 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 14:35:40 ]
この傲慢な質問者に回答してあげる人いるんだろうか

648 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 14:40:04 ]
プログラマが「落ちる」とか言うな。何が落ちるんだ。手から携帯が滑り落ちるのか?
VMが強制終了するのか?
携帯の電源がOFFになるのか?
αエラーのダイアログはでないのか?
トレースログは見たのか?

偉そうに「イヤミだって解らないわけないでしょう」とか言うのなら、何故またこんな情報足り無すぎなレスをするのか?
偉そうにするからには隙の無いレスしろ

649 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 14:41:24 ]
「メモリ不足かなにかで落ちまくります」より具体的な技術的表現はないのかね?

650 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 14:45:05 ]
落ちまくるんだからVMが終了するわけではないんじゃないか?
VMが終了したら落ち まくれ ない
多分マップ上の落とし穴に落ちてダメージをうけまくっちゃうバグとかが出てるのかと



651 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 14:48:30 ]
いくら匿名の2chでも礼儀は必要ということだなー

652 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 14:51:54 ]
あと問題がありそうなのは装備の付けはずしの部分ですかね

まず、アイテムクラスを配列で、道具箱クラスが持っています、
装備メニューを開いた時に、例えば頭の装備品ならばアイテムクラスの配列を
全検索して、頭に装備するアイテムが出てきたらポインタを取ってきて
メモリ確保をしていない装備メニュー用のアイテム配列に追加っていう風にやっています

>>648
落ちると言うのは「例外処理がされていない動作障害が発生しました」みたいなダイアログが出て
実機のみで落ちます、エミュレータでは出たことありません

>>649 >>650
正確には落ちまくりではないですね
例えばマップを出たり入ったりを繰り返すとだとか
上で書いた装備メニュー用のアイテム配列の削除のときに落ちることがあります






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

前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