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


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

653 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 14:55:26 ]
>>652
間違い・・・
>上で書いた装備メニュー用のアイテム配列の削除のときに落ちることがあります
じゃなくて、表示用に作ったクラスの配列でした、ポインタをとってきたのに削除するとまずい…

654 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 14:56:37 ]
俺のデバッグを手伝ってくれスレはここですか?('A`)

655 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 14:58:56 ]
652の情報まで聞いて、やっと原因わかったわ
そりゃ落ちるだろw
PCJAVAじゃあるまいにw


656 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 15:04:03 ]
>655の書き込み見て気づいた俺は反応鈍いのかな
これについては昔の端末のほうがしっかりしてるんだよな
最近のは手抜き過ぎ
Javaだと自前でどうにかするのも限界あるし、そういう意味じゃCとかのほうが便利だぜ

657 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 15:14:15 ]
なるほど
こりゃ設計の問題じゃね?
もしくはMAXきめるかしかないと思われ

658 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 15:27:24 ]
ポインタをコピーして複数から参照するのがまずいのですか?



659 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:28:28 ]
ここまで読んだけど全く分からん。
>>655-657は一体何に気付いたのか教えて欲しいな。
あと取り敢えず630は名前付けてくれないと見難い。

直接の原因のほうは俺は分からないけど、
まず例外のキャッチに焦点を当てるのが先決だと思うんだ。
確認するけど、>>646のコード以外で動作しているスレッドは無い?
プログラムの大本がそこだから、そこでさえキャッチすれば
完全とか思っていると見逃してしまったりするよ。
アプリの根元はスレッド毎にあるんだから其々でキャッチが必要。
コールバック系のメソッド、タイマやオーディオのイベントハンドラ内はチェックした?

>>652で言ってるダイアログが出るのは、必ずどこかメインスレッド外で
例外が送出されているからだと思うよ。

660 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:42:16 ]
eclipse3.1.1とDoJa5.1、JDKは1.5で開発行いたいんだけど
サンプルプログラムをデバッグしようとしても”リモートVMに接続できない”
等のエラーが出てしまうんですが、解決方法ご存知の方いたら教えてください

661 名前:630 mailto:sage [2008/05/26(月) 19:58:15 ]
>>659
ああああ、そういえばテスト用にアニメーションをスレッドでやってて
それ放置したままでした;;スレッドはこれしか作ってないので
原因の一つはこれで間違いないですね;;

662 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:59:11 ]
>>659
ついこの間、バカな質問者のせいでこのスレが大量に流れたの忘れたの?
なんでバカの流入を加速させようとするの?

663 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 20:01:25 ]
>>661
また後だし情報かよ
お前氏んでいいわ

664 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 20:04:52 ]
そこまで口汚く罵ることはないだろ
ただ630も、別にここは初心者質問スレじゃないってことを理解しようよ
回答してくれそうな連中を小馬鹿にした態度や、情報を全然開示しない姿勢は反感を買うに決まってるでしょ

665 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 20:14:04 ]
ダメ質問者のテンプレのようなやりとりだな

>>630
・メモリー不足か「なにか」で「落ちまくります」 (なにか?落ちまくり?何それ)
・アイテムを64個 マップのレイヤーが四層 (勝手に定義した単語使うな)

>意味不明という意味わいのレスをうける

>>636
レスに対してなめた態度 (お前の質問の態度をあらためろ)

>「なにか」をはっきりさせろ

>>638
キャッチできないんですよね (Javaの仕様上ありえねーよ。少しは自分を疑えや)

>ソースだせ

>>640
どの部分をですか? (お前しか全容を知らんのに、なんで他人が「どの部分か」指定できると思えるの?)

>原因個所を特定できる部分か、可能な範囲できるだけ

>>645
イヤミにはイヤミで返しましたwwww (お前のなめた質問態度がそもそもの原因だろ)

   そして

>>661
ああああ、別のスレッドまわしてましたああああ!!

   (#^ω^)

666 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 20:20:19 ]
-------ここまで、質問者630からの感謝の言葉、謝罪の言葉一切なし---------

667 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 20:24:45 ]
>>666
違和感の原因がわかった
マジだ

668 名前:630 mailto:sage [2008/05/26(月) 20:29:03 ]
え?お礼って強制されるもんなんですか?



669 名前:630 mailto:sage [2008/05/26(月) 20:34:44 ]
>>663
後だし情報というか完全に忘れてた感じです
そもそも情報としてスレに挙げられるなら(覚えてたなら)直しますし

>>664
そうですね、すいませんでした

小馬鹿にしたレスというのは特に>>645だと思うんですが
>イヤミもわからん頭でプログラムは無理だと思うよ。
これ>>636のイヤミがわからなかった時点でオマエガナーと思ってしまったので
ついつい書き込んでしまいました;;

>>666-667
このレスに書く予定でした、添削している間にスレが進んでしまって

あと>>668は偽者ですけど、IDでないので無駄ですね

670 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 20:42:27 ]
小馬鹿うんぬんだが、質問者としての最低限の情報提供もしてないのならイヤミの一つも言われるでしょ・・・
それにイヤミで返してどうすんの
裏を返せば「質問に応えるためには、この情報が足りてないよ」ってことで、ありがたがるべき指摘でしょ・・・

671 名前:630 mailto:sage [2008/05/26(月) 20:53:54 ]
すいません、その通りでした
このレスで最後にしときますので以降はスルーお願いします

672 名前:デフォルトの名無しさん mailto:saga [2008/05/27(火) 00:31:29 ]
引数重視だととにかくメンドクセエ
包括変数がとにかく便利でしかたない
異常ですか?

673 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 00:35:32 ]
正常な馬鹿です

674 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 00:41:40 ]
お前ら、スルー力とか、大人の余裕とかないのかよ。

675 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 01:48:32 ]
メモリ不足はどう頑張っても拾えないケースがあると思ってましたマ

676 名前:デフォルトの名無しさん mailto:saga [2008/05/27(火) 16:24:29 ]
505以降はJavaヒープがじゅうぶんにあるから
メモリ不足ってあんまり有り得ないと思う
他の原因でエラーが出ていると考えたほうがいい


677 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 17:32:50 ]
ゲームで必要なイメージを全て持ってるとかだったら、ヒープやばいだろう。
要らないのは捨てろよ。

678 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 05:04:17 ]
>>634
亀レスですが、なるほどガッテン!なお話だなと思いました
・最初から容量をケチってソースを書いたせいで、最後まで謎のバグに悩まされるか
・見通しのいいソースでひとまずバグのない状態を実現してから、容量削減を模索するか
後者は二度手間?になりそうな印象もありますが
容量削減のためのノウハウはある程度蓄積されてるので
バグを取るよりは作業手順・内容が明確になる=負担は少ない、と言えるのかもしれないですね



679 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 09:43:47 ]
>>672
価値がありません

680 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 09:58:04 ]
>>672
価値がありません

681 名前:デフォルトの名無しさん mailto:saga [2008/05/28(水) 20:50:39 ]
動きゃいいんだよ

682 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 20:54:37 ]
スクラッチパッドに記録したデータを一部消したいんですが
そんなことできますか?

683 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 20:55:35 ]
軽く水に浸す

684 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 21:52:42 ]
だが運がよくないと全部が消える素人にはオススメできない諸刃の剣

685 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 21:53:19 ]
>>682
・どう保存しているか
・どのように保存されているのか
これが分かれば可能。
分からなければ軽く水に浸す。

686 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 23:29:56 ]
っつーか、自分で管理してるデータなら
自分で好きにしたらいいじゃん。

687 名前:デフォルトの名無しさん mailto:saga [2008/05/30(金) 00:58:14 ]
アプリ起動中にfreeMemory()を表示させるとメモリーの様子が分かるが
ゼロになると自動的に解放されてメモリーが増えるので
メモリー不足のエラーなんか有り得ない
(嘘)

688 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 03:33:04 ]
再帰でスタックオーバーフローが起きたら有りえるんじゃないの



689 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 10:44:44 ]
↑俺はぷよぷよ作ろうとした時に判定部分でそうなった

690 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 12:33:59 ]
スタックは何KB?

691 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 20:30:23 ]
>>682
残念ながらプログラムでは一部を消す、といったことはできません。
もしどうしても、というのなら「気」で消してみてはいかがでしょうか?

まず、掌を熱くなるまでこすりあわせます(最初は風呂上りなどにやると良いでしょう)。
そして、両掌をわずかに離して向かいあわせてください。
この状態で掌をゆっくりと動かしてみましょう。
掌が互いに引っ張り合ったり逆に押し返すような「気」の「力」を感じるはずです。

掌に気を感じられるようになったら、端末の上に掌をかざしその「電気」を感じ取ってください。
うまくいけば、記録されている情報の「気配」を感じ取れるはず。
後は、消したい情報の気配を探り当て、邪気を送り込めばその情報を保持している電気を破壊できます。


692 名前:556 mailto:sage [2008/05/30(金) 21:21:48 ]
そもそも消すという行為に何の意味があるんだ?
参照しなきやいいだけじゃん

693 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 21:24:46 ]
ゴメン、名前欄ミスった
556とは関係ないです

694 名前:デフォルトの名無しさん [2008/05/30(金) 21:42:00 ]
>>691
やってみた
本当に掌の間にねばっこい塊があるみたいな感じで引っ張り合うなw

これで先生のあのデータを(略


695 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 22:19:50 ]
やってみたがイマイチわからん。掌をどう動かすんだ?
距離を離すようにするのか、それとも距離を一定にしながらすれ違うように動かすのか・・

696 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 07:50:51 ]
>>695
私は691ではないけど、やってみた感じでいうと
こすりあわせなくても、
合掌して手のひらを4mm〜8mm位の間で離したり近づけたりしていると
なにかの存在があるように反発力を感じた。
すれ違うとかじゃなくて、
両手の平の位置は合掌時の位置関係で固定するのが正しいみたいだよ。

697 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 21:14:20 ]
お前ら、2chネラーの言うことなんて真に受けるなよ(w

698 名前:デフォルトの名無しさん [2008/06/01(日) 02:20:27 ]
au使ってるんだけど
作ったアプリを携帯に入れるにはどうしたら良いんでしょうか



699 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 02:31:35 ]
>>698
docomo端末に買い換える


700 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 09:15:06 ]
>>697
クレタ人か。

701 名前:デフォルトの名無しさん [2008/06/01(日) 09:56:16 ]
auのほうがいいからやだ

702 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 11:07:41 ]
>>698
「iアプリゲーム開発テキストブック903i/703i対応」著:布留川英一
の365ページ以降に「au/ソフトバンクへの移植」があるから読んでみたら

703 名前:デフォルトの名無しさん [2008/06/01(日) 12:53:03 ]
携帯へのダウンロードの問題だけなんだけど
auで動くかどうかは
www.au.kddi.com/ezfactory/tec/spec/ezplus.html
のツールで確認済み

やっぱページにアップするしかないのかしら

704 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 13:06:26 ]
今EZアプリ動く機種あるの?

705 名前:デフォルトの名無しさん [2008/06/01(日) 13:08:01 ]
動くことは動くんじゃね

706 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 13:20:45 ]
まぁ、どっちにしてもスレ違いな気がする。
EzアプリってMIDPじゃないのか…?

707 名前:デフォルトの名無しさん [2008/06/01(日) 13:21:50 ]
なるほどここはiアプリか確かにそうだね
ごめん

708 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 13:35:19 ]
IApplication.getParameter()で取得するパラメータって
エミュレータで設定できますか?



709 名前:デフォルトの名無しさん mailto:saga [2008/06/01(日) 19:18:28 ]
配列a[0]〜a[100]までを引数にしたのですが

meso(a[]);
:
:
void meso(int a[]){ }

とやってもエラーが出ます
どうすればいいですか?


710 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 19:32:56 ]
>>709
pc11.2ch.net/test/read.cgi/tech/1210529127/

711 名前:デフォルトの名無しさん mailto:saga [2008/06/01(日) 20:10:40 ]
>>710
何番目のレスですか? 

712 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 20:31:39 ]
多分「失せろ」って事だと思う。

713 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 23:42:24 ]
>>711
iモードに限らないJavaの話題はここですべきでないってことだよ

714 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 23:51:45 ]
つーか後々の為にJavaの入門書からやり直した方がいい

715 名前:デフォルトの名無しさん mailto:saga [2008/06/02(月) 00:48:23 ]
配列は引数にできないんですか?

716 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:52:39 ]
できますん

717 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 00:55:26 ]
>>715
失せろ

718 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 01:04:03 ]
>>715
javaの話はjavaのスレでやれ



719 名前:デフォルトの名無しさん [2008/06/02(月) 07:11:26 ]
mesoddo

720 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:14:47 ]
void meso(int []a){ }

721 名前:デフォルトの名無しさん [2008/06/03(火) 09:43:03 ]
iアプリってたくさんクラつくれないからソースが偏るよね
C言語みたいになる

722 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 12:11:50 ]
>>721
別にクラスなんていくつでも作れるが


723 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 13:41:51 ]
でも作らないよね
23個程度だし

724 名前:デフォルトの名無しさん mailto:saga [2008/06/03(火) 20:19:03 ]
importで*使うとメモリを多く消費するんですか?


725 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:36:11 ]
俺はメガアプリ用にはStateパターンで使うconcreteなクラスは大量に作ってる。
とはいえなるべくサイズ削減はしたいけど、ProGuardじゃクラス融合はしてくれないしな。
Eclipseのリファクタリング処理をバッチ化して実行するような、
ソースコードレベルのオブファスケータがあると良いんだけど、無いよなぁ。

726 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:45:15 ]
Java Blender と ProGuardってどっちがいいの?

727 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:35:48 ]
オプションで融合できるけどね

728 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:36:35 ]
>>726
前者って暫く更新してなくね?



729 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 01:20:55 ]
k-tai.impress.co.jp/cda/article/news_toppage/40212.html
>iアプリDX以外のiアプリ利用時に、GPSで測位した位置情報が通知されてしまう場合がある

ってことは、この3機種では一般アプリからも単独でGPSの位置情報を利用する方法があるのか…?

730 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 06:09:37 ]
PCでは動くのに、実機ではぬるぽ投げたり、アウトオブバウンズ投げるのは
なんでですかね?

731 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 06:17:47 ]
たまたまPCで動いていただけ。

732 名前:デフォルトの名無しさん [2008/06/04(水) 07:17:01 ]
>>724
しない

733 名前:デフォルトの名無しさん [2008/06/04(水) 08:15:35 ]
>>724
するんじゃね?全部読み込むんだし

734 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 09:00:10 ]
>733はimportと(Cの)includeを混同してないか?

includeはファイルをソースレベルでマージするものだが、
importはクラスの場所(ライブラリ内でのいわばフルパス)をあらかじめ指定して、
ソース中での記述を省略できるようにするもの。
…だと思ったけど。

Javaスレ行った方がいいな。

735 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 09:10:07 ]
javacなどのコンパイラは、メモリを消費するかもね
クラスファイルになったら一緒

736 名前:デフォルトの名無しさん mailto:saga [2008/06/04(水) 21:34:12 ]
クラスファイルってなんですか?


737 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:22:23 ]
Javaのソースファイルをコンパイルしたらできる、.class という拡張子が付いたファイル

738 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:28:48 ]
>>729
TrustedAPIDなしでもGPS情報取得できちゃうようなバグじゃね?



739 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:31:43 ]
むしろ、GPSぐらい解放してくれたらいいのに。
毎回ダイアログ出てもいいからさぁ。
いちいちWEB経由とか写真に埋め込みとかめんどくさくってやってらんねぇ。

740 名前:デフォルトの名無しさん [2008/06/04(水) 23:10:20 ]
ちょっと知恵を拝借したいのですが、
スクラッチパッドにbyte配列とshort配列を書き込みたいと思っています。
shortの場合、DataOutputStream#writeShortを使えば良いのですが、
そうするとbyte配列書き込み用とshort配列書き込み用の2のメソッドを
実装することになってしまい、無駄な気がしています。

short配列をbyte配列にキャストしたり、代入できないので
どのようにすれば効率の良いプログラムになるでしょうか?
また皆さんはどのように対応しているのでしょうか?

識者の方、よろしくお願いします。

741 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 23:19:37 ]
無駄な気がしても、他に方法はないんじゃないかな
byteかshortどっちか使うのをやめて、片方に統一するとか・・・

742 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 00:05:18 ]
全部byteで書き込めばいいんでは?
どうせwriteShort使ったって内部でbyte変換してるんだろうし。

743 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 00:12:19 ]
俺は両方バイトに変換して書き込んでる、結局読み込むときこっちのが楽だし

744 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 00:46:22 ]
スクラッチパッドへのアクセスの話が出てるみたいだからちょっと便乗して質問

アプリの設定を変えるたび、スクラッチパッドに、たった4byte程度のフラグ情報を書き込む
という処理をしてるんですけど
機種によって書き込みに1秒程度かかって待たされたり
あるいは全然待たされなかったりするのですが、こんなもんなんですかね…?

一応書き込むときに、length=4とつけてはいるんですが…
(この length=xxx って読み込みだけじゃなく書き込みでも効き目はあるんだろうか…?)

745 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 13:07:50 ]
>>744
そんなもん。
機種によってはスクラッチパッドの中身全てを一旦メモリー上に展開したりするからな。
(んで、アプリ終了時に書き込む。だから電池抜きでやると、書き込んだはずのデータが消えちゃう。回避不可能)
色々独自仕様ありすぎ

746 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 17:36:36 ]
>>740
データ型じゃなくて処理の単位で分けてる。
writeScore()とwriteConfig()みたいに。

同一ストリームへの書き込みでbyte配列とshort配列が混在するときは
そのままインラインで書いてるなぁ。

747 名前:740 mailto:sage [2008/06/05(木) 21:00:04 ]
アドバイス感謝です!!

>>741-743
回答ありがとうございます!
やはり、スクラッチパッドへのアクセス方法は
人それぞれなのですね。

>>746
なるほど、処理単位という発想はありませんでした。
汎用的なものを作ることしか考えていなかったです。

まずはshort→byte配列変換するパターンで作って、
その後他のアクセスパターンも試してみるつもりです。

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

748 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:31:44 ]
String replace()で改行の削除って可能ですか?

例:str="あ\nあ";
strを"ああ"に

str.replace('\n', ''); ←これだとコンパイルエラーになる(><)
お願いします。



749 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:41:26 ]
エスケープ...

750 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:48:36 ]
>>745
> 機種によってはスクラッチパッドの中身全てを一旦メモリー上に展開したりするからな。
> (んで、アプリ終了時に書き込む。だから電池抜きでやると、書き込んだはずのデータが消えちゃう。回避不可能)

マジすか…
アクセスが妙に速いのはそういうことをやってる機種、かもしれませんね…

「アプリ設定を変えても即座に記録されない」と苦情が出て
変更する都度スクラッチパッドに記録するようにしたんですが
今度は機種によって「グッ…」「グッ…」と待たされて…
これはもう「端末の仕様です」で押し通すしかないですね
(アプリ終了前にイベント発生?してくれるならまだどうにかなりそうですけど、
そういう実装はされてませんしね…)

751 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:08:06 ]
>>749 もうちょっと詳しくお願いします;;

補足で
str.replace('\n', ' '); ←これで削除はできるんですが半角スペースが入ります
str.replace('\n', '\0'); ←これでも半角スペースが入ります

752 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:12:40 ]
>>751
つうかStringBuffer使おうよ

753 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:31:20 ]
>>752
おー。はずかしながらStringBufferの存在を初めてしりました。
ありがとうございます。一応こんな感じでできました。
もっと効率のいい方法があれば教えてください。

// 改行の削除
StringBuffer strBufSrc = new StringBuffer(str);
StringBuffer strBufDst = new StringBuffer();
for(int i=0; i<strBufSrc.length(); i++)
{
  if((strBufSrc.charAt(i) != '\r') && (strBufSrc.charAt(i) != '\n'))
  {
    strBufDst.append(strBufSrc.charAt(i));
  }
}
str = strBufDst.toString();

754 名前:デフォルトの名無しさん mailto:saga [2008/06/05(木) 23:45:57 ]
>>750
んぱかに
SP処理の速度の一覧があるから調べてみれば?

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 ]
答えたくても、意味がわからないのでな…

856 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 16:19:21 ]
最近のこのスレのカオスっぷりはなんなんだ?
意味のわからない質問
公式のプログラミングマニュアルすら読まない質問
情報を隠した質問

何を答えればいいんだよ

857 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 16:29:32 ]
何を質問しているかを…じゃね?

858 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 16:42:02 ]
>>852
書き方が悪い
表示ってなに?描画のこと?
もうちょっと具体的に分かりやすく質問せねば



859 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 16:44:00 ]
>>850
Cと違ってJavaで初期値のある配列はサイズでかくなりますよ

860 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 17:06:37 ]
>>852
redImageをオフスクリーンに描画、次にblueImageをオフスクリーンに描画
オフスクリーンからredImageを描画した座標でgetRGB
RGB配列内に青のRGB値があれば重なってる

はい、出来ます、俺はこんなこと絶対しないけど

861 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 17:28:17 ]
>>859確かバイトコード上だと確保のコードの後に書く値を代入するコードが直接埋め込まれるん
じゃなかったっけ?Cならモジュールがロードされた時に値の羅列がメモリに乗るから
それを使うだけだけど、

862 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 17:49:51 ]
>>852
色で当たり判定を行うとはまた斬新な・・・。
どんなゲーム作ろうとしてるの?

863 名前:835 mailto:sage [2008/06/15(日) 18:30:23 ]
>>856
まさに俺のことですね。。。

>>858
描画のことです。

>>860
なるほど。できるけどあまり効率的ではなさそうですね。

>>862
ダーツゲームを作ろうと思っています。

えっと、情報を出し惜しみしてたわけではないんですが、一応授業でiアプリを作れということだったので
できるだけ自分で考えたほうがいいかなと思って書き込ませてもらったんですが、
結果分かりにくい原因になってしまったようですみません。

上に書いたようにダーツゲームを作ろうと思っています。
先生がカーレース?のアプリを例に見せて、コースをはみ出したときの判定は色を使っていると言っていたので、
描画する画像(ダーツボード)と描画しない画像(点数別に色分けされた画像)を用意して、
あたった所の色を読み取って点数を出すという方法がいけるんじゃないかと思いましたが、実際その方法で
できるかどうかわからなかったので書き込ませてもらいました。

上で書いている事と矛盾しますが、他にどのような方法があるか教えていただけますでしょうか?


864 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 18:39:54 ]
ダーツか、じゃアークタンジェントと平方根

865 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 19:27:25 ]
メンテはしやすそうだが、無駄の多い方法だな<色で判別して点数
幸いダースは完全な円なんだから、>>864の方法でいいだろー

866 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 19:59:36 ]
絶対座標と極座標

867 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 20:15:39 ]
>>864-866
数学嫌いの俺としてはまったく考え付きませんでした。
チームで製作なので得意な人にそこらへんは任せてみようと思います。
恥ずかしながら極座標というのは初めて聞きました。

868 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:33:38 ]
数学嫌いがなんでプログラムやってんの
どうも専門学生っぽいが、数学使えないプログラマなんて、底辺コーディング屋としても需要ないぞ?



869 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:43:49 ]
角度と距離求めるくらいで数学も糞もないやろ

870 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:55:55 ]
>>868
嫌いは言い過ぎかもしれませんが、苦手な部類です。
まぁ一緒のような物ですかね。
確かに数学苦手ですし、頭も固いのでプログラマには向いていないのは自分でも分かっていますが、
授業として組み込まれてるし、ゲームとして動作する物を提出しないと成績に反映されないので作るしかないんです。

>>869
少なくとも俺にはそういう発想がでなかったんです。
あと、他人に任せるのはチーム製作ということと時間的余裕が無いのでという点でです。
一人で作ってて時間もあるなら自分でがんばりますけど。

871 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:48:12 ]
プログラマはみんな数学好きなのかw
堅苦しく考えず必要になったときに勉強すればいいと思うけどな
俺はプログラム書くようになってから三角関数の面白さに気づいたよ

872 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:25:29 ]
俺超数学嫌いだけどプログラマ面白いし
まぁまぁのもの作れるよ

873 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:35:13 ]
数学の面白さは、それを使って何かが出来た時にしか分からない。
俺も高校で行列やら微積分やら習った時、こんなもの何に使うんだよウゼーと思ったが、
大学に入ってからこれは凄いと思ったし。

円の中心からある点(x, y)までの距離は√(xの2乗+yの2乗)。// Math.sqrt(x*x+y*y)
角度はアークタンジェント(y/x)。// FastMath.atan2(x, y)
距離と角度の情報があれば、ダーツで何点のところに矢があるか簡単に分かる。
5時から6時の間かどうかを判定するなら、距離が円の半径より小さくて、yが負かつ角度が90〜120度。

874 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:35:37 ]
プログラマ面白いって?

875 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:37:29 ]
好きかどうかはともかく数学苦手な奴にプログラマ向いてないだろ

876 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:39:55 ]
>>851>>853
うーん、どっちなんでしょ?


877 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:40:10 ]
底辺ばっか

878 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:43:23 ]
冷徹な自己分析乙



879 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:09:49 ]
>>876
マップエディターで吐き出したやつとかを読み込むのならresフォルダしかない。
小規模なやつで読み込むの面倒ならソースに書いてしまえばいい。
質問のレベルからして、そんなに容量を気にする規模のものを作れるとは思えないけどな。
とりあえずソースに書くとかナンセンスすぎるわ。

880 名前:デフォルトの名無しさん mailto:saga [2008/06/16(月) 01:14:26 ]
Math.sqrt(int a)を使うとエラーが出ます
なぜですか?







881 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:44:53 ]
CLDCについてググれ

882 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 02:47:10 ]
>>876

>>851は間違い
>>853は馬鹿、クラスファイルも圧縮されてる
>>859の言うとおり

883 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 09:06:18 ]
>>882
代入式はzip圧縮によってほぼ消えるので、同じと考えて差し支えないよ?

884 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 10:32:42 ]
>>850
データの内容による。
俺ならresフォルダにバイナリファイルを置くけどな。

885 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 16:12:50 ]
大きなアプリ作るなら、データ配列が32k超えるとビルドが通らなくなる問題がある
よってresにバイナリを置く方が吉かと

886 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 16:40:37 ]
そんな問題があったのか (゚.゚)

887 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 16:55:24 ]
>>883
そのzip圧縮は、実行時にはメモリに解凍されるんだよ?
ほぼ配列要素分の代入のバイトコードが...

888 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 16:57:58 ]
はい?



889 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 17:21:53 ]
>>887
で?っていう

890 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 17:29:29 ]
いやー>>883が「ほぼ消える」とか言うから
zipは不可逆圧縮かよw

891 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:11:14 ]
誰か、887=890を翻訳してくれ
何をいってるのかさっぱりわからない

892 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:35:35 ]
おそらく…おそらくだが、いや、そんなことはさすがにないとは思うが…
クラスファイルとしてJavaヒープに展開した際の容量のことを問題にしているのでは?
いや、まさかね
iアプリでまず気にするのは、Jar時の容量だもんな。展開時の容量の話を前置きもなくする人なんてありえないわ。俺の勘違いか

893 名前:デフォルトの名無しさん mailto:saga [2008/06/16(月) 23:51:31 ]
cosを使うとエラーがでるんですけど意味不明です


894 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:57:10 ]
使わない方がいいよ

895 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:58:48 ]
エラーメッセージも書かずに俺らに何して欲しいのか、意味不明です

896 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:09:55 ]
>>893は意味不明だって言いたいだけで、何して欲しいだとか、自意識過剰というものです。

897 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 03:22:49 ]
メガアプリだと思って調子こいてたら、容量が足りなくなってきました
クラスを減らそうと思うんですけども、何個か減らすだけで効果ってのはありますか?
ちなみに今クラスが40個程度あって、リソースが500kb程度あります

898 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 07:11:40 ]
>>892
「容量」の話をしてるときに
「jar(あるいはスクラッチパッドに読み込むデータファイル)の容量」と
「実行時のメモリ使用量」の
どちらの話をしているのか、ということですね、わかります

流れを眺めていて、その2つが入り混じってるなとちょっと思ってました…



899 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 07:31:28 ]
>>897
クラス削るよりも画像の減色した方が良くない?
もうしてあるのなら無理だけどね。
あとは、リソースじゃなくてSDから読み込むとかね。
SDなんか1GB500円で売ってる時代だから、みんな持ってるんじゃない?
俺は仕事でやってるわけじゃないから、詳しくは知らないけどw

900 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:02:47 ]
>>899
まだ減色は試してないのでやってみます

900kbあるjarを解凍してクラスファイルのサイズを調べたら、200kb程度でした
リソースは500kbですから、あわせても700kbしかないのに…思っていたら、
中に〇〇.dbって500kbのファイルがありました

リソースフォルダ内に、フォルダを作って画像を分けた時から、急にサイズが増えてしまったので、
このdbファイルはその時に作られたのかな、と思うのですが、
これは避けられないのでしょうか?

901 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:16:18 ]
>>900
エクスプローラが画像のサムネイル表示時に作成されるシステムファイル。
消しても問題ないファイル。
エクスプローラのオプションで作成しないを選べた気がします。

902 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:20:53 ]
>>901
×作成される
〇作成する

903 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:36:30 ]
>>901-902
ありがとうございます
ということは、リソースフォルダ内でフォルダわけしてもサイズが
大きくなると言うわけではないんですよね?


904 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:41:32 ]
>>903
ファイル名管理で、フォルダ名を含むようになる。程度しか増えないから、基本的にフォルダわけしたほうが保守しやすいね

image.gif が res\mainscene\image.gif のような長い名前になる

905 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 15:21:58 ]
>>904
DBファイルなくしただけで500kb程度のJarになりました
まだまだ追加できそうです
ありがとうございました


906 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 09:46:19 ]
dbファイルは結構罠だよな。
自分では作らないように設定してても、デザイナからもらった絵のディレクトリに紛れ込んでたりするし。

907 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 09:48:09 ]
入ってたとして
なんでそれをそのままresに放り込むんだよw

908 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 11:20:41 ]
SVNとかで同期とってるとか?



909 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 13:19:20 ]
自分も昔、
./res/.svn/* が .jar に入ってることに気づかなくて
「よ、容量が…」と言ってた時期がありましたわん

7za に -x!.svn* を言い渡して解決しましたけど…
実は未だに、svn に res/ を無視するよう指定する方法が判らない…

910 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 14:39:25 ]
>>907
「隠しファイルを表示」にしていないやつもいるだろ

911 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:13:27 ]
いやプログラマが隠しファイルを表示設定にしないとか

912 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:08:53 ]
表示にしてて見えるはずなのに、なんか知らんけど紛れこむことあるよ

913 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:12:02 ]
ねーよw

914 名前:デフォルトの名無しさん mailto:saga [2008/06/19(木) 00:05:50 ]
どうすればiアプリで三角関数が使えますか?


915 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 00:14:49 ]
>>914
そろそろしつこい

916 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 00:19:44 ]
>>914
テーブルで持つのが近似解。
円周を例えば256等分して、浮動小数でもいいし、ゲタ履き整数でもいいし、
それを返す関数を自分で書く。
データは1象限分あればいいんで、事前に作っておく。

917 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 19:32:10 ]
もしくはマクローリン展開

918 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 08:07:09 ]
プログラマの癖に縮小版キャッシュのこと知らないとかDQNも良いとこだろ。隠しファイルや拡張子のことを知らない輩とか、全く向いてねーよな

ってかお前らなんでApache Antを使わねえの?.svnだって回避出来るぜ



919 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 09:36:14 ]
>>918
自分が既に経験し学んだたからといって、未経験者の失敗を笑うのは阿呆のすること
自分がどうやって「縮小版キャッシュのことを知った」かを思い出せ

920 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 10:12:45 ]
>>914
適当なライブラリのソースを(ry

921 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 10:32:08 ]
>>914
FastMathもダメ?

922 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 10:56:21 ]
>>919
縮小版キャッシュなんて
失敗する以前に知ってましたが何かw

923 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 10:59:38 ]
>>919
resフォルダに隠し属性のファイルをミスでぶっこむという失態を「誰もが通る道」かのごとく語るんじゃねえよ。

924 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 11:07:12 ]
お、なんか香ばしい輩が出てきてるみたいですな(^ω^ )

925 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 11:48:21 ]
失敗する前にたまたま知ってた俺SUGEEEEEEEEEEE!!!

926 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 11:51:07 ]
「取り返しがつかない失敗を避けるため、事前に勉強しておくべき知識」ではない事象について、たまたま知ってたことを誇る意味がわからん

927 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 12:00:04 ]
誰もが通る道だろ。いちいち言わないが
少なくとも新しく入った部下がその罠にハマるはずがない決め付けるほど、俺は楽観主義じゃないな

928 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 12:00:20 ]
>「取り返しがつかない失敗を避けるため、事前に勉強しておくべき知識」ではない事象
甘えすぎでワロタ



929 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 12:07:35 ]
こういう奴らが大雨でも中州でキャンプしちゃうんだろうな。
で救出された後も「これは事前に知っておくべき知識じゃないから」

930 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 12:13:06 ]
まぁ、誰もが通る道・・・・ではないだろ。さすがにw

931 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 12:58:50 ]
最近の若者だと「誰でも」率が高いような希ガス

932 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 13:01:58 ]
>>928-930
なんでそんなに必死なん?

933 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 13:12:18 ]
>>929
それは「取り返しがつかない失敗を避けるために事前に勉強しておくべき知識」だろw

934 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 13:31:33 ]
誰もが通るは言い過ぎだなぁ

935 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 13:48:46 ]
>>927
はまる奴が混じってくるのは当たり前だよ。
それを自己解決できなかった場合に使えない奴と判断するかどうか。

936 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 14:25:25 ]
>>933
正直、隠し属性のファイルを含めresフォルダに無駄なもん入れないようにするのも「取り返しがつかない失敗を避けるために事前に勉強しておくべき知識」だろw

937 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 14:36:06 ]
取り返しがつかないのか?

938 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 14:55:53 ]
取り返しついてるじゃん>>900

どうも自分が知ってた知識に優位性があることにして、相手を叩きたいだけのお子様っぽいな
いきなり「これを知らないなんてDQN」とか言ってるし



939 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 15:03:28 ]
こんなつまらないことでしか他人と自分を差別化しなけりゃならないほど、自分の技術力が低いのかねー・・・

940 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 15:06:28 ]
関係ないがそれ言い出したら>>926からやり直さにゃならんなw

941 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 15:14:37 ]
始めはみんな何も知らなかったわけだし、こんなこと知ったのが遅かった早かっただけの話じゃないの
そもそも、ここ趣味でやってる人もいるわけだし、そんなことで目くじ立てる意味あるのかね

942 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 15:15:29 ]
>>937-938
なんでそんなに必死なん?

943 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 15:16:34 ]
このスレから初心者を排除したくないから、初心者を馬鹿にするような奴を排除しようと必死なんだよ。
わかるかな?

944 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 15:24:58 ]
1分で即レスとかガチ必死かよw

945 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 15:25:30 ]
おまいら落ち着けって。
アイマスでもやろうぜ。

946 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 16:18:37 ]
初心者叱るな来た道だもの。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前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