iモード携帯電話用Java(iアプリ) Part17at TECH
iモード携帯電話用Java(iアプリ) Part17 - 暇つぶし2ch462:デフォルトの名無しさん
08/05/14 03:50:38

◆6月にマネージャパン、月刊アスキー、週刊アスキーの3誌が賞金総額2000万円の「シストレFXグランプリ」を開催
URLリンク(system-trading.jp)

5月22日より登録受付開始、6月2日よりグランプリ開始の予定。賞金総額2000万円。
  デモトレードの優勝者には賞金三百万円がプレゼントされます。


▼トレード部門
初期資産500万円で、デモ取引のトレード収益を競っていただきます。
URLリンク(www.fx-gp.com)

▼賞金総額
■社長特別賞(シストレソフト買取価格) 10,000,000円
●シストレソフト部門賞 1位300万円 2位100万円 3位50万円
●トレード部門賞 1位300万円 2位100万円 3位50万円
●前期MVP賞 50万円
●後期MVP賞 50万円

463:デフォルトの名無しさん
08/05/14 19:57:51
InputStreamの入力ストリームの現在位置を初期化することってできますか?
(またデータを一から読み込みたいということです)

464:デフォルトの名無しさん
08/05/14 20:20:42
reset()かな?


465:デフォルトの名無しさん
08/05/14 20:46:05
resetはサポートされてないっぽいです
もう一回コネクトを作るしかないですかねー

466:デフォルトの名無しさん
08/05/14 23:26:21
(iアプリに関係なく)そういうときはByteArrayOutputStream等に入れてから使います


467:デフォルトの名無しさん
08/05/14 23:47:04
入力ストリーム関係をメゾットにして
最初から読み込みたいときにメゾットを呼び出せばいいのでは?


468:デフォルトの名無しさん
08/05/15 00:05:00
キノコのメゾット

469:デフォルトの名無しさん
08/05/15 01:19:22
メンマ変数

470:デフォルトの名無しさん
08/05/15 02:34:49
iアプリを携帯でDLするたびにパケット受信でお金が掛かって苦しい。
PCでDLしたiアプリを携帯で実行できるようなiアプリ(エミュレータ?)
が欲しいんだが、そういうのってある?

471:デフォルトの名無しさん
08/05/15 02:49:33
ない

472:デフォルトの名無しさん
08/05/15 08:05:11
>>460
対象機種がわからんが初回DL型アプリじゃダメなの?
リソースが増えすぎて100Kを越えてしまいました、的な質問が目に浮かぶよ。

473:デフォルトの名無しさん
08/05/15 08:14:41
>>463
漏れも一時悩んだんだけど、Java(J2SE)でもやり方わからなかった。
たぶん再作成しかないと思う。
もしかしたら、そもそもストリームと言うのは流れが一意であって、
前に戻ることを保証しないものなのかもしれない

474:デフォルトの名無しさん
08/05/15 09:00:25
いや、素直にreset使えよ…
reset非対応のストリームでやりたいなら、>>466の言うように一旦(resetの対応が保証されている)ByteArrayInputStreamにうつしてからやれよ

475:デフォルトの名無しさん
08/05/15 09:19:09
めぞっと一刻

476:デフォルトの名無しさん
08/05/15 13:27:29
そもそも読み直しが必要な設計を見直すべき。
一般的にストリームってのはメモリと違って読み込み遅いもんだから、
ランダムリードしないですむ設計にするべき。


477:デフォルトの名無しさん
08/05/15 14:58:43
>>476
ByteArrayInputStreamのように、メモリー上をなめるストリームもあるし、かなり一般的なのだから
>一般的にストリームってのはメモリと違って読み込み遅いもんだから
って理屈はどうかと。

>ランダムリードしないですむ設計にするべき。
結論は正しいけどな

478:デフォルトの名無しさん
08/05/15 15:16:10
オーバヘッドがあるから自前でキャッシュした方が速いけどな

479:デフォルトの名無しさん
08/05/15 22:36:57
データをストリームで読みながら処理するんじゃなくて
一括で読んでおいてからメモリ上でランダムアクセスした方がいいんじゃないの?

480:デフォルトの名無しさん
08/05/15 23:24:10
>>479
ByteArrayInputStream

481:デフォルトの名無しさん
08/05/16 00:18:46
QVGA用に作ったiアプリってVGAに自動拡大で対応できないのでしょうか?
ソフトバンクみたいに。


482:デフォルトの名無しさん
08/05/16 07:42:50
>>481
え、しない?
少なくともN903iはするよ。

483:デフォルトの名無しさん
08/05/16 14:24:37
>>481
ならない端末をむしろ教えてくれ。
あとADF。
普通は自動で拡大するはず

484:デフォルトの名無しさん
08/05/16 15:55:25
481です。
すんません。ドコモの携帯もってないんで、どうなのかと思って聞いてみました。
ありがとうございます。

485:デフォルトの名無しさん
08/05/16 16:19:33
先に言え禿げ

486:デフォルトの名無しさん
08/05/16 21:17:33
>>480
ランダムアクセスするのにStream使うのは微妙に違う気が

487:デフォルトの名無しさん
08/05/16 22:02:07
学校でJavaやっててもっと使えるようになるためiアプリに手を出してみようと思うんだけど
Dojaの最新のってJ2SE1.4までしか対応してないの?
今のパソコンはJ2SE5が入ってるんだけどバージョンダウンしないといけないのか
printfが使えなくなるのは正直痛い

488:デフォルトの名無しさん
08/05/16 22:34:35
1.4どころか1.1レベルしか対応してないよ
printfは使えない

489:デフォルトの名無しさん
08/05/16 22:43:24
とりあえずJ2MEとかCLDCでググって愕然として欲しい

490:デフォルトの名無しさん
08/05/16 23:09:10
J2SDじゃなかった?


491:デフォルトの名無しさん
08/05/17 00:06:15
eclipseでやってるんですが、実行しようとすると
エミュレータが一瞬表れすぐに消えてしまいます。
なにか設定が変なんでしょうかorz

492:デフォルトの名無しさん
08/05/17 00:22:43
何かしら設定が変だからうまくいかないんだろ
その自分の設定も晒さず、設定が変なんでしょうか?ってなめてんのかと

493:491
08/05/17 01:25:41
その設定のどこが変なのかわからんから聞いとるんじゃいこの( ゚д゚)アンポンタン!

494:デフォルトの名無しさん
08/05/17 01:40:22
うわあ

495:デフォルトの名無しさん
08/05/17 01:50:55
エスパー同士の戦い!

496:デフォルトの名無しさん
08/05/17 02:00:18
>>491
俺もなったことある。でも、なんとかなったよ。
          ハ_ハ  
        ('(゚∀゚∩ なったよ!
         ヽ  〈 
          ヽヽ_)


497:デフォルトの名無しさん
08/05/17 02:01:33
患者「お腹が痛いです」
医者「何か原因に心当たりは?」
患者「わからないから来てるんです」
医者「しかし、こういう物を食べたとか、いつから痛いのかとか
    言っていただかないと診断のしようがありません」

我ながら微妙なたとえだ

498:491
08/05/17 02:25:14
>>494
( ゚д゚)ヒョエー

>>495
( ゚д゚)σ~~~ ビーム

>>496
もったいぶらんとはよいわんかいこの( ゚д゚)ポンコツ

>>497
さっさとCTスキャンせえや( ゚д゚)

499:デフォルトの名無しさん
08/05/17 02:40:33
   ∧∧
  ( ゚∀゚)
  _| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄

  <⌒/ヽ-、___
/<_/____/     


500:491
08/05/17 02:46:06
   ∧∧
  (  ゚д゚)
  _| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄

  <⌒/ヽ-、___
/<_/____/     

501:491
08/05/17 02:54:06
   ∧∧
  (  ゚д゚)
  _| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄

502:デフォルトの名無しさん
08/05/17 09:59:39
お前の質問は>>497ですらない。

患者「痛いんです」
医者「どこがですか?」
患者「なんか痛いんです」

503:デフォルトの名無しさん
08/05/17 11:03:38
>>491 はまずiアプリのEmulator DevGuide を学校で印刷しろ。
その後HDDをフォーマットしてOSの再インストールから。
そのあと、Emulator DevGuide のセットアップの項目を
完全に書かれている順番で実行すればいい。
そしてサンプルの実行を、完全に書かれている順番で実行すればいい。
文句言うやつは大抵どこか飛ばしてるか無視してる。


504:503
08/05/17 11:04:18
ああ、学校はまた別のやつか。
まあいいや。どこかで印刷すればいい。


505:デフォルトの名無しさん
08/05/17 13:27:28
消える現象は、
ソフトの動作条件よりPCがスペック不足だとよく起きる



506:デフォルトの名無しさん
08/05/17 15:36:58
確かjavaにパス通すとかじゃなかったっけ?

507:デフォルトの名無しさん
08/05/17 15:43:30
せめてeclipseに表示されるエラーログくらい書けよと言いたい

508:デフォルトの名無しさん
08/05/17 16:43:03
実機で動かした時「動作障害が発生しました」って出て落ちるのの原因ってなんですかね?

509:デフォルトの名無しさん
08/05/17 18:43:24
ExceptionかErrorをキャッチできてないのが原因。

510:デフォルトの名無しさん
08/05/17 22:48:27
失礼します。
昔、一からスケジューラの作り方を書いていたサイトを見た記憶があるのですが、
誰かご存知ないでしょうか?プログラムの参考にしたかったんですが分からなくなって。
ご存知の方、教えてくださいm(__)m

511:デフォルトの名無しさん
08/05/18 00:40:45
256X256以上のgif画像を使うとエミュでは平気で実機でエラーが出るようだ
(機種によるかもしれない)


512:デフォルトの名無しさん
08/05/18 00:46:41
既出です

513:デフォルトの名無しさん
08/05/18 01:09:55
じゃあ俺は255バイト以下のアイコン作る

514:デフォルトの名無しさん
08/05/18 09:19:28
>>511
機種は?
FOMA900以降は320x320までは動作が保証されていたと思うが

515:デフォルトの名無しさん
08/05/18 10:14:43
>>511
N900iとか240x240までじゃなかった?

516:デフォルトの名無しさん
08/05/18 14:24:04
× N900i
○ D900i

517:デフォルトの名無しさん
08/05/19 20:09:23
>>509
Exceptionは丸々捕まえてるはずなんですが、Errorとやらはわかりません
恐らくはメモリ不足で落ちてると思うんですが、そういうエラーも捕まえられるんですか?

518:デフォルトの名無しさん
08/05/19 20:15:39
Exceptionは例外クラスの大元じゃないから
Throwableを捕まえないとException以外の例外(Errorとか)を取り逃す

519:デフォルトの名無しさん
08/05/19 20:43:51
>>518
ありがとうございます
勉強になりました

520:デフォルトの名無しさん
08/05/19 22:39:05
メゾット(変数);で受け渡す必要性が分かりません

変数;
メゾット();でも同じだと思うのですが



521:デフォルトの名無しさん
08/05/19 23:14:30
あなたの書いている文章の意味が分かりません。


522:デフォルトの名無しさん
08/05/19 23:16:59
あさりの和風メゾット

523:デフォルトの名無しさん
08/05/19 23:38:01
>>520
引数にするかクラスメンバにするかの違いということだと推測。

524:デフォルトの名無しさん
08/05/20 06:29:45
メゾットとは何語でどういう意味??? - Yahoo!知恵袋
URLリンク(detail.chiebukuro.yahoo.co.jp)

やはり何事にも先駆者はいるものだなとオモタ

525:デフォルトの名無しさん
08/05/20 06:31:25
引数をメンバ変数でいちいち持ってたらクラスが膨らむではないか

526:デフォルトの名無しさん
08/05/20 07:28:08
>メゾット(変数);で受け渡す必要性が分かりません
 
-----------------------------------
 変数A;
 変数B;
 変数C;
 メゾット1();  // 変数Aを使う
 メゾット2();  // 変数Bを使う
 メゾット3();  // 変数Cを使う
-----------------------------------
 メゾット1(変数A);
 メゾット2(変数B);
 メゾット3(変数C);
-----------------------------------

どっちが分かりやすいよ

527:デフォルトの名無しさん
08/05/20 09:27:58
Javaから勉強するからこんな疑問がでるんだろうね

528:デフォルトの名無しさん
08/05/20 09:33:02
メンバ変数にしかアクセスしないなら引数にとらなくてもいい


529:デフォルトの名無しさん
08/05/20 09:37:56
>>526
メゾットじゃなくてメソッドですからwww

530:デフォルトの名無しさん
08/05/20 10:27:44
>>520
メソッドに渡すためだけにメンバ変数を用意するよりは引数として渡したほうが楽。
別の目的でメンバ変数が用意されてるならわざわざ引数にしなくておk

531:デフォルトの名無しさん
08/05/20 11:07:02
メゾットってうまそうだな

532:デフォルトの名無しさん
08/05/20 12:12:42
リゾットじゃねーから。

533:デフォルトの名無しさん
08/05/20 12:22:16
マンションなのに一軒家の感覚が楽しめて憧れるな。

534:デフォルトの名無しさん
08/05/20 19:43:30
メゾネット?

535:デフォルトの名無しさん
08/05/21 00:00:03
容量的にはどうなんでしょうね
容量というか、ガベージコレクション的には、というか…
事前に変数を宣言?しておいたほうが
ガベージコレクションを避けられる状態に繋がりやすくなる、という場面はないのでしょうか

536:デフォルトの名無しさん
08/05/21 00:42:18
無意味にメソッド外に変数を出せば
保守性やスコープ外への隠蔽性が低下する方がむしろ問題じゃね?

537:デフォルトの名無しさん
08/05/21 00:55:47
フィールド変数はあまり使いたくないな

538:デフォルトの名無しさん
08/05/21 06:46:36
>>535
メンバ変数を使う→ヒープを使う→GC対象
引数(ローカル変数)を使う→スタックを使う→使用後即破棄
じゃなかったっけ?

539:デフォルトの名無しさん
08/05/21 06:59:53
Global_var Classがつくられた!!

540:デフォルトの名無しさん
08/05/21 22:26:18
何十個も引数取る場合は面倒くさいと思います



541:デフォルトの名無しさん
08/05/21 22:38:36
引数のみの独立性の高いメソッド作れる状況で
setメソッドだの作るのは無駄

542:デフォルトの名無しさん
08/05/21 22:39:55
そんな糞設計やめろ

543:デフォルトの名無しさん
08/05/22 12:05:29
public Object[] foo(Object[] args)でおk

544:デフォルトの名無しさん
08/05/23 01:07:55
ねとらじを携帯で聞けるアプリを作りたいんですけど
にこにこ動画みたいな方式でないと無理ですかね?

545:デフォルトの名無しさん
08/05/23 01:10:25
たりめーだバーロー

546:デフォルトの名無しさん
08/05/23 01:11:11
じゃあ鯖なんか提供できるはずもないので諦めます

547:491
08/05/23 02:46:48
何度やっても駄目だorz
eclipseで実行→実行ダイアログを開く からどうしてもエミュレーターが作動しない
一瞬現れてすぐ消える
エラー文は何も出てない。できあがったアプリはアプリエラーが起こる。
でも直接エミュレーター起動してビルドするとうまくいく。
なんでだろう・・・

548:デフォルトの名無しさん
08/05/23 08:30:51
>>547
考えられる問題
・ADFが不正
→トレースに出てる筈なのに見ていないのはプログラマに向いていないから諦めな

・プロジェクト名が不正
→半角スペースを入れてるとかプログラマに向いていないから諦めな

549:デフォルトの名無しさん
08/05/23 08:34:11
eclipseとDojaエミュのバージョンは?

550:デフォルトの名無しさん
08/05/23 08:51:03
俺もEclipseから起動できないわ
原因探るのめんどくさいからほってあるけど

551:デフォルトの名無しさん
08/05/23 09:09:25
>>535
GCの回収対象は参照の有無が基本。メンバだろうがなかろうが関係ないよ。ましてや基本型なら回収以前の話。

君は引数aを与えて戻り値bを返すメソッドf()で
わざわざメンバ変数にaをセットしてからf()を引数なしで呼び出したいとかぬかすのか?
なんかアセンブラみたいだな。何のための引数だよ。
IApplication#stat()みたいな実行と言う"一連の動作を内包"したものもあれば、
Math#abs()みたいな"指定した値"から絶対値を"求める"と言うのもある。
Math#abs()がメンバ変数を使用する必要があったらキモいだろ

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

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

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

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

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

557:デフォルトの名無しさん
08/05/23 11:04:42
>>547
俺がエスパーしてやる

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

558:デフォルトの名無しさん
08/05/23 11:10:21
vimで開発してるけどEclipseのメリットがいまいち分からん

559:デフォルトの名無しさん
08/05/23 11:14:04
>>556
あなたのプログラムのモラルの低さが露呈されてます

560:デフォルトの名無しさん
08/05/23 11:19:12
>>559
あなたの人間としてのモラルの低さが露呈されてます

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

562:デフォルトの名無しさん
08/05/23 11:33:07
人間としてのモラルが低いのはむしろ>>556だろうなw

563:デフォルトの名無しさん
08/05/23 11:35:55
>>562
で?

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

565:デフォルトの名無しさん
08/05/23 14:15:34
>>563
くやしかったの?

566:デフォルトの名無しさん
08/05/23 14:17:36
平日の昼間っからにニートが騒ぎ出す・・・!

567:547
08/05/23 22:09:31
帰ってきたぞやろーども( ゚д゚)

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

>>549
eclipse3.3.2
DoJa5.1です

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

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

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


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

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


570:デフォルトの名無しさん
08/05/23 22:53:29
さては本物だなこいつ

571:549
08/05/23 23:23:03
>>567
たぶんeclipseのバージョンが原因
URLリンク(www.nttdocomo.co.jp)

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

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

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

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

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

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

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

577:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/24 01:02:17
>>576
お前経験無いみたいだな

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

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


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

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

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

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

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

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




585:デフォルトの名無しさん
08/05/24 12:45:11
この馬鹿をなんとかしろ

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

587:デフォルトの名無しさん
08/05/24 13:14:51
>>584
なんのためのクラス化だよ

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

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

589:デフォルトの名無しさん
08/05/24 13:30:18
>>584
配列で渡して配列で返せよ馬鹿

590:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/24 13:34:23
パターン2はそれですらなくて
m_hensu1 = 1;
m_hensu2 = 2;
m_hensu3 = 3;
m_hensu4 = 4;
m_hensu5 = 5;

kansu2();

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

592:デフォルトの名無しさん
08/05/24 13:36:09
ここはiアプリスレなんだが。

593:デフォルトの名無しさん
08/05/24 13:38:49
プログラム板のiアプリスレなんだが。

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

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

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

597:デフォルトの名無しさん
08/05/24 18:03:57
お前らwww

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

599:デフォルトの名無しさん
08/05/24 18:34:24
>>596 >>598

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

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

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

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

602:デフォルトの名無しさん
08/05/24 19:32:26
どうでもいい話だね

603:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/24 20:55:28
>>603
エラーメッセージをそのまま突っ込んでググったら色々出てきたけど?

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

606:デフォルトの名無しさん
08/05/24 22:11:22
>>605
何をどう凡ミスしたのか書いてけや

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

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

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

610:デフォルトの名無しさん
08/05/25 06:51:27
何が問題なのか分からない
好きに組めばいいじゃない

611:デフォルトの名無しさん
08/05/25 10:04:58
素直に配列使えって言えばいい話なんじゃないの?

612:デフォルトの名無しさん
08/05/25 12:37:47
iアプリの話しようよ…

613:デフォルトの名無しさん
08/05/25 13:06:25
どのiアプリが面白いですか?

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

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

616:デフォルトの名無しさん
08/05/25 14:22:52
そのソースちょっと見てみたいw

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

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

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

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

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

健闘を祈る。

620:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/25 21:31:08
機種依存じゃよ

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

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

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

625:デフォルトの名無しさん
08/05/26 01:01:42
ヒント与え過ぎ。
もっと考えさせて。

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

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

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

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

628:デフォルトの名無しさん
08/05/26 02:13:39
おまえ何歳だよ

629:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/26 02:23:10
RPG作ってるんですがメモリ不足かなにかで落ちまくります
今アイテムを64個持たせてたりマップのレイヤーが四層だったりしてますが
どのくらいが適切なんでしょうか?

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

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

URLリンク(www.igotfree.com)

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


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

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

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

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


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

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

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

637:デフォルトの名無しさん
08/05/26 13:40:17
>>636
君はまず「かなにか」という名の魔物を追い払いなさい

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

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

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

639:デフォルトの名無しさん
08/05/26 13:55:36
ソース出してみれ

640:デフォルトの名無しさん
08/05/26 13:57:09
どの部分ですか?
結構多いんですが

641:デフォルトの名無しさん
08/05/26 14:03:58
原因箇所をかなり特定できているのならその部分を。

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

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

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

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

644:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/26 14:27:00
>>642
1Gって書いてるのにイヤミだって解らないわけないでしょう
配列で1Gってそんなもん作ると思ってるんですか?
それを踏まえた上でのレスですから

646:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/05/26 14:35:40
この傲慢な質問者に回答してあげる人いるんだろうか

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

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

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

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

651:デフォルトの名無しさん
08/05/26 14:48:30
いくら匿名の2chでも礼儀は必要ということだなー

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

663:デフォルトの名無しさん
08/05/26 20:01:25
>>661
また後だし情報かよ
お前氏んでいいわ

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

665:デフォルトの名無しさん
08/05/26 20:14:04
ダメ質問者のテンプレのようなやりとりだな

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

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

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

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

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

>ソースだせ

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

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

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

   そして

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

   (#^ω^)

666:デフォルトの名無しさん
08/05/26 20:20:19
-------ここまで、質問者630からの感謝の言葉、謝罪の言葉一切なし---------

667:デフォルトの名無しさん
08/05/26 20:24:45
>>666
違和感の原因がわかった
マジだ

668:630
08/05/26 20:29:03
え?お礼って強制されるもんなんですか?

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

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

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

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

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

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

671:630
08/05/26 20:53:54
すいません、その通りでした
このレスで最後にしときますので以降はスルーお願いします

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

673:デフォルトの名無しさん
08/05/27 00:35:32
正常な馬鹿です

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

675:デフォルトの名無しさん
08/05/27 01:48:32
メモリ不足はどう頑張っても拾えないケースがあると思ってました

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


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

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

679:デフォルトの名無しさん
08/05/28 09:43:47
>>672
価値がありません

680:デフォルトの名無しさん
08/05/28 09:58:04
>>672
価値がありません

681:デフォルトの名無しさん
08/05/28 20:50:39
動きゃいいんだよ

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

683:デフォルトの名無しさん
08/05/29 20:55:35
軽く水に浸す

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

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

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

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

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

689:デフォルトの名無しさん
08/05/30 10:44:44
↑俺はぷよぷよ作ろうとした時に判定部分でそうなった

690:デフォルトの名無しさん
08/05/30 12:33:59
スタックは何KB?

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

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

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


692:556
08/05/30 21:21:48
そもそも消すという行為に何の意味があるんだ?
参照しなきやいいだけじゃん

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

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

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


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

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

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

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

699:デフォルトの名無しさん
08/06/01 02:31:35
>>698
docomo端末に買い換える


700:デフォルトの名無しさん
08/06/01 09:15:06
>>697
クレタ人か。

701:デフォルトの名無しさん
08/06/01 09:56:16
auのほうがいいからやだ

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

703:デフォルトの名無しさん
08/06/01 12:53:03
携帯へのダウンロードの問題だけなんだけど
auで動くかどうかは
URLリンク(www.au.kddi.com)
のツールで確認済み

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

704:デフォルトの名無しさん
08/06/01 13:06:26
今EZアプリ動く機種あるの?

705:デフォルトの名無しさん
08/06/01 13:08:01
動くことは動くんじゃね

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

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

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

709:デフォルトの名無しさん
08/06/01 19:18:28
配列a[0]~a[100]までを引数にしたのですが

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

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


710:デフォルトの名無しさん
08/06/01 19:32:56
>>709
スレリンク(tech板)

711:デフォルトの名無しさん
08/06/01 20:10:40
>>710
何番目のレスですか? 

712:デフォルトの名無しさん
08/06/01 20:31:39
多分「失せろ」って事だと思う。

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

714:デフォルトの名無しさん
08/06/01 23:51:45
つーか後々の為にJavaの入門書からやり直した方がいい

715:デフォルトの名無しさん
08/06/02 00:48:23
配列は引数にできないんですか?

716:デフォルトの名無しさん
08/06/02 00:52:39
できますん

717:デフォルトの名無しさん
08/06/02 00:55:26
>>715
失せろ

718:デフォルトの名無しさん
08/06/02 01:04:03
>>715
javaの話はjavaのスレでやれ

719:デフォルトの名無しさん
08/06/02 07:11:26
mesoddo

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

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

722:デフォルトの名無しさん
08/06/03 12:11:50
>>721
別にクラスなんていくつでも作れるが


723:デフォルトの名無しさん
08/06/03 13:41:51
でも作らないよね
23個程度だし

724:デフォルトの名無しさん
08/06/03 20:19:03
importで*使うとメモリを多く消費するんですか?


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

726:デフォルトの名無しさん
08/06/03 20:45:15
Java Blender と ProGuardってどっちがいいの?

727:デフォルトの名無しさん
08/06/03 22:35:48
オプションで融合できるけどね

728:デフォルトの名無しさん
08/06/03 22:36:35
>>726
前者って暫く更新してなくね?

729:デフォルトの名無しさん
08/06/04 01:20:55
URLリンク(k-tai.impress.co.jp)
>iアプリDX以外のiアプリ利用時に、GPSで測位した位置情報が通知されてしまう場合がある

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

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

731:デフォルトの名無しさん
08/06/04 06:17:47
たまたまPCで動いていただけ。

732:デフォルトの名無しさん
08/06/04 07:17:01
>>724
しない

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

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

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

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

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

736:デフォルトの名無しさん
08/06/04 21:34:12
クラスファイルってなんですか?


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

747:740
08/06/05 21:00:04
アドバイス感謝です!!

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

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

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

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

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

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

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

749:デフォルトの名無しさん
08/06/05 22:41:26
エスケープ...

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

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

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

751:デフォルトの名無しさん
08/06/05 23:08:06
>>749 もうちょっと詳しくお願いします;;

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

752:デフォルトの名無しさん
08/06/05 23:12:40
>>751
つうかStringBuffer使おうよ

753:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/06/05 23:45:57
>>750
んぱかに
SP処理の速度の一覧があるから調べてみれば?

755:デフォルトの名無しさん
08/06/06 01:19:28
>>754
URLリンク(onosendai.jp)
このページでしょうか?
16KByteを2048回書き込んでるということは、一覧に記載された値を2048で割れば1回あたりのアクセス時間(ミリ秒)が判るはず…
なのですが、求めた概算の時間と、実機のソレが、体感的にまったく一致しないんですよね
これは想像ですが、んぱかさんのベンチマークアプリは
Connector.openOutputStream() 等でスクラッチパッドへのアクセス準備した後に
連続で2048回読み込み/書き込みして測定してるのではないでしょうか
しかし実機上では、スクラッチパッドへのアクセス準備に時間がかかる機種とかからない機種が存在していて
それについては前述のページにその情報がない、
逐一「アクセス準備」→「書き込み」→「クローズ」をした場合は機種によって反応が全然違う、という状況ではないのかと思いました

何にせよ、スクラッチパッドへの書き込みが遅い件をアプリ側で改善するのは難しいですよね…?
書き込み回数を減らすか(画面切り替わり時などにまとめて書き込む等)、遅くても・待たされても我慢してもらうか、
どちらか選択するしかないのではという気がしました

756:デフォルトの名無しさん
08/06/06 10:59:26
>>755
流石にそこまで「ぐっ…」って止まっちゃう端末は記憶にないなぁ。
・SPに保存するだけのアプリつくって、同じ挙動するか確認
・そのコード(IApplication#start()をオーバーライドした10行くらいだろ)をここで晒してみる

ってしてくれれば、俺も気になるし色々アドバイスするよ。

ちなみに電池パック抜きするとSPに保存(書き込み後close)した内容が反映されないって機種は
少なくともN900とP900
多分NPシリーズはその後もそうなってると思う。
だからこいつらだと、中断/再開がある系のゲームでハイスコアとか偽造し放題なんだよな('A`)

・中断/再開がある系のゲーム
ゲーム途中でプレイを中断するための機能。
「再開」すると消去される、1回しかロードできないセーブデータをつくる。
「再開」後データの無効フラグを立てても、電池抜きで「無効フラグが立たなかったことに」できちゃう。

757:デフォルトの名無しさん
08/06/06 11:24:56
>>755
4byte書き込むにしても1byte毎にopen/close繰り返して
遅延させてるとか言うオチじゃないの?
それかメモリアクセスするがよろしく参照するたびにopen/closeしてるとか。


758:デフォルトの名無しさん
08/06/06 11:27:02
>>756
「ぐっ…」
がどのくらいの時間か分からないけど

50msや100ms止まる端末はザラにあるだろ?

759:デフォルトの名無しさん
08/06/06 11:54:59
>>758
0.1秒で「ぐっ…」と感じるなんて状況そうそうないと思うがなぁ…。
オプション画面とかも、その画面を抜ける「タイトル画面に戻りますか?>OK」ってやった時に書き込むもんだと思うし。

760:デフォルトの名無しさん
08/06/06 18:37:35
そういや俺今まで気にしてなかったんだが、
複数の離れたい位置にあるデータを書き込む時に
opencloseを複数回繰り返して書き込む処理にしてたりすると、
いきなりアプリが終了されてしまう時なんかに、
その複数のデータの後ろの方は書き込みがされていない可能性があるわけだよな。
複数データが同期を前提とした関係構造だった場合、それが崩れてしまう。

タイミング的には低い確率だとは思ってるんだが、>>758を見ると起こせそうで怖い。
今まで作ったアプリで出ないとは限らないから不安だな・・。

761:デフォルトの名無しさん
08/06/06 20:41:02
なぜ離れたところにセーブするような実装にしたんだ!!

762:デフォルトの名無しさん
08/06/06 22:54:55
ファイルシステムでも実装したとか?

763:デフォルトの名無しさん
08/06/07 01:32:35
N903iだけどバッテリ抜いてもちゃんと記憶されてるよ?

764:デフォルトの名無しさん
08/06/07 14:16:41
PCではちゃんと計算どおり画像が描画されてるんですが、
実機で動かした時には、時々ずれてしまうことがあります
もしかしたら描画のタイミングが違うのではと思います
 do{
   /* ゲーム処理 */
   ・・・
   /* 描画処理 */
   repaint();
 }while( true );

こういう感じで処理した場合、repaint()の時に
paint( Graphics g )をちゃんと呼び出してくれてるのでしょうか?

765:デフォルトの名無しさん
08/06/07 14:23:52
↑ですが、やはり描画部分を別スレッドにしている機種があるみたいです
ということは描画を自分の狙ったタイミングで行うということは無理なのしょうか?

766:デフォルトの名無しさん
08/06/07 14:28:07
↑自己解決しました
paint( getGraphics() );
こうすればいいようですね

767:デフォルトの名無しさん
08/06/07 16:22:19
>>766
普通そんなことしないと思うぞ。
「計算どおり画像が描画」されないって具体的にどんな状況?
あと実機の場合は機種が知りたい。

768:デフォルトの名無しさん
08/06/07 16:48:31
>>767
repaintがかならずpaintを実行するって保障がないからじゃない?
docomoなのになんでrepaint使ってるのかは知らんけど

repaint()からpaint(getGraphics())に置き換えたから正常動作したってことで

769:デフォルトの名無しさん
08/06/07 16:49:30
試した機種はN904です
「計算どおり画像が描画」されないっていうのは
計算途中の位置で描画されてしまうということです
例えば

x += speed;

if( 壁との当たり判定 ){
   int tmp = 壁位置の計算;
   x = tmp;
}

こんな感じのを使っていて、壁に当たっていた場合には、
壁の位置に補正されるはずなんですが(PCではされます)
実機で動かすと、一瞬めり込んで、次の瞬間に戻るというのが時々起きました
(上で言うと x += speed; の段階の位置で描画されているようです)
なので、もしかすると描画は別スレッドで回ってるんじゃないかと思ったんですが

770:デフォルトの名無しさん
08/06/07 16:51:12
>>768
普通はrepaintしないんですか?
どんな感じで描画メソッドを呼び出してるんでしょうか?

771:デフォルトの名無しさん
08/06/07 16:55:01
>>770
docomoってpaint内以外でもCanvasに書き込めるんだから
描画メソッド(paint)をrepaint()で呼び出す必要ないってこと

772:デフォルトの名無しさん
08/06/07 17:04:45
またロックし忘れか。

773:デフォルトの名無しさん
08/06/07 17:10:21
ロックし忘れはないですね
描画は一箇所でしかしてませんから

774:デフォルトの名無しさん
08/06/07 18:57:58
repaintはpaintを呼び出して欲しいと「要求」するだけなので、いつ実際にpaintが呼び出されるかは不定。
paintとメインループは別スレッドなので、当然「計算途中でpaintが呼ばれて変な描画になる」のも当たり前。

普通はpaintの中は空にし、メインループでcanvas.getGraphics()して描画するんだ

775:デフォルトの名無しさん
08/06/07 19:22:13
paint()内でwhileループしてる俺は邪道なのか・・・
ていうか最近やってなかったけど、久々にiアプリのソース見たら
なんか怖いことしてるんだが・・・

776:デフォルトの名無しさん
08/06/07 19:29:31
>>775
おい、他のprocessEventが解決できなくなるだろ
少しはプログラミングガイド嫁よw部下だったらぶん殴ってるくらい最低のプログラムだ

777:デフォルトの名無しさん
08/06/07 20:06:07
>>776だよな。何で俺もこんなことしたのかわからんwww

778:デフォルトの名無しさん
08/06/07 21:08:33
実機でだけアプリが終了してしまう原因が分からなくて困ってます.
トレース情報を見るとArithmeticExceptionを拾っているのですが,このエラーが実機だからでるというのはどういうときなのでしょうか?

ご教授願います.よろしくお願いします.

779:デフォルトの名無しさん
08/06/07 21:14:20
実機の機種とかさぁ、DoJaのプロファイルとかさぁ、もっと情報出したら?

780:デフォルトの名無しさん
08/06/07 21:18:51
質問する時はこういう情報を出せ!みたいなテンプレが、次回のスレから欲しいかもな
そのExceptionはおおむね0で数値を割った時に出る。
割り算に特に注意しつつ、どこが原因か探してみ。

781:デフォルトの名無しさん
08/06/07 21:27:40
>>778
それさエミュレータでもエラーはコンソールに出力されてるんじゃない?
アプリが落ちないだけで

782:デフォルトの名無しさん
08/06/08 02:16:11
repaint()は便利だから使うのやめられんハヒー
例えpaint内でループ使っても、その時repaint()かからないようにすればエラーは出ないヒヒヒ


783:デフォルトの名無しさん
08/06/08 02:27:34
ゼロ除算が原因だとしてエミュと実機で違う点を挙げるなら、
タイマー精度、カラー値、Math関連の戻り値くらいかなぁ。

でも一番怪しいのはスクラッチパッドの初期化ミス。

784:デフォルトの名無しさん
08/06/08 10:12:39
repaintが便利ってのの意味がわからんのだが、何が便利なんだ??
あんな動作タイミングが「不定」なもの、使いたくないだろうと思うんだが・・・

785:デフォルトの名無しさん
08/06/08 17:30:59
MIDP2.0より古い機種に移植できるところ

786:デフォルトの名無しさん
08/06/08 17:44:31
>>785
MIDP2.0より前の機種も、paint使わずに自由に描く方法のほうが一般的だろ
MIDP1.0のpaint外描画は仕様上100%保証されているわけじゃないが、それで動かなかった機種は現状1つたりともないし

787:デフォルトの名無しさん
08/06/08 21:09:11
無限ループを使わないプログラムの場合は
repaint()は便利ですぞ
使うのやめられねえヒョホー

788:デフォルトの名無しさん
08/06/08 21:50:57
BREW移植があんだから、無限ループなんて使うわけないだろ
結局ただの釣りかよ

789:デフォルトの名無しさん
08/06/09 17:58:49
Imageを、アンチエイリアシングをかけながら縮小描画する方法ってのは無いでしょうか?
drawImage系ですとアンチはかからないようですし…。
現在はgetPixelsとsetPixelsを駆使して、自前でやっているのですが、何分遅くて…。

790:デフォルトの名無しさん
08/06/09 18:49:52
どんなゲームか気になるわ。
アドベンチャーとか?

791:デフォルトの名無しさん
08/06/09 23:25:53
repaint()も無限ループも使わないで
プログラムを循環させる方法なんてあるんですか?
教えてください

792:デフォルトの名無しさん
08/06/09 23:49:11
>>789
スムージングを掛けての縮小処理だと思って返答するけど
テクスチャにしてバイリニアフィルタリング掛ければいいんじゃね?
携帯で3Dいじったことないから出来るかどうかまでわからんけど

793:デフォルトの名無しさん
08/06/10 00:05:54
マスコットカプセルごときにフィルタなんてねーわけで・・・

794:デフォルトの名無しさん
08/06/10 07:54:15
ソフトバンクのマスコットカプセルならバイリニアかかるけどな

795:デフォルトの名無しさん
08/06/10 15:12:02
>>791
Timerクラス?
俺は787がrepaint()をどんな風に使っているのか、
788がどうしてBREW移植を前提にして語っているのかが知りたい。

796:デフォルトの名無しさん
08/06/10 17:10:46
>>795
仕事柄移植はよくくるもんでな。
無限ループって聞いて「大外の無限ループ以外。つまりシーン関数(とか)内での無限ループ」を想定して「ねーよ、BREWに移植できなくなるし」って答えた。
大外は勿論無限ループだ

797:デフォルトの名無しさん
08/06/10 17:14:23
釣りにいちいち付き合わなくていいよ

798:デフォルトの名無しさん
08/06/10 22:49:08
>>789
どのくらいのスムーズさを求めてるの?
エクセル(2003)のCtrl+マウスコロコロくらいのスムーズさなら
タイマー+drawScaledImage()でやってる。
周期30msで30fpsくらいか。最近の機種は10msでもいいかも

799:798
08/06/10 22:55:00
ごめん。書いて気付いたけど、アンチエイリアスね。勘違いしてた
たしかにdrawScaledImage()だと細かい字とかだと読めなくなるね
簡単にやるなら元の画像サイズをでかくするくらいか。
機種によっては読み込めるサイズ制限が厳しいけど。。。

800:デフォルトの名無しさん
08/06/10 23:19:21
>>796
Dojaでの無限ループってかなり外側でしょ?

J2MEと違ってBREWは無限ループでブロックしちゃいけないからね...
決められた秒数いないにシステムに返さないとアプリが落ちるという制限もあったような...

801:デフォルトの名無しさん
08/06/11 00:09:07
>>800
それがあるから、どんな場所で無限ループしても怒られないDojaであっても、一番の大外以外での無限ループはしないようにしてるのが普通じゃね?
日曜プログラマならどんなもんでも構わんと思うけど

802:800
08/06/11 00:24:20
>>801
禿同。ついでにMIDP1.0にたいしても近い恩恵を受けられるしね。
恐らく無限ループを作って良いシステムなんて稀有だと思うし
出来る出来ないの話ではなくやらない様にすべきだよな

803:デフォルトの名無しさん
08/06/11 10:08:49
MIDP1.0系の端末も、無限ループでやるとイベントが遅延する機種があるからなぁw
逆に3G端末系だと無限ループにしないとダメという、もうちょっと統一感もてよなあいつらw

804:デフォルトの名無しさん
08/06/12 14:30:56
}の数が合わないみたいなんですけど、どうしたらいいですか?
チンチンブルルンルン


805:デフォルトの名無しさん
08/06/12 18:51:09
>>804まずはそのブツをしまいなさい。

806:デフォルトの名無しさん
08/06/13 12:35:37
ちょっと聞きたいのですが
iアプリでエクスプローラーを作るのは可能でしょうか?

PC無しでSDカードの中身を操作したいのです
できるようならプログラム勉強しようとおもいます

ついでに口内炎が痛くて困ってます
治す方法はいいので、口内炎が出来る理由もわかれば教えて下さい

お願いします

807: [―{}@{}@{}-] デフォルトの名無しさん
08/06/13 12:53:31
一応できるけど、制限が多いので現実的ではない

口内炎は薬塗れば2日で治る

808:806
08/06/13 12:57:17
素早いレスに感謝します

では、SDカード内のフォルダ名を変更するプログラムなら簡単にできますか?

口内炎の塗り薬はやはり染みて痛いのでしょうか?

809:デフォルトの名無しさん
08/06/13 18:50:42
最新機種ならば複数の音楽を同時に再生するってことできるんでしょうか?

810:デフォルトの名無しさん
08/06/13 19:31:02
>>808
できません。
染みません。
>>809
「一応」4つまで

811:デフォルトの名無しさん
08/06/13 19:35:17
なんかよく分からんが口内炎なら野菜食っとけ、野菜。ってばーちゃんが言ってた。

812:デフォルトの名無しさん
08/06/13 19:37:16
ビタミンAの欠乏だっけか?

813:デフォルトの名無しさん
08/06/13 19:50:26
俺は首筋と後頭部に小豆大のしこりができたんだがこれは・・・?

814:デフォルトの名無しさん
08/06/13 19:54:06
ピザじゃね?

815:デフォルトの名無しさん
08/06/13 19:56:33
>>813
小豆じゃね?

816:デフォルトの名無しさん
08/06/13 20:53:52
質問です。
SH906iは、480*854のiアプリを自動で横にしてくれる機能がありますか?
購入の参考にしたいと思っています。
宜しくお願いします。

817:デフォルトの名無しさん
08/06/13 22:05:06
それはアプリ次第でしょ
細かいことは機種のスレで聞いたほうが確実だと思うよ

818:816
08/06/13 22:22:31
そのiアプリを自分で作っていまして、
作る側のことはこの板で聞いた方がいいと思ったんです。
DrawAreaを480 * 854にして、更にTargetDeviceにSH906iとやればできますか?


819:デフォルトの名無しさん
08/06/13 22:37:53
横にするってのがよくわからんがそれはできる

820:816
08/06/13 22:57:29
480 * 854だと画面領域を超えるから
普通だと縮小されるか、もしくはDLでエラーがでますよね?
それで横画面にしたときに、
自動で右回転して854 * 480にしてくれるのかが知りたいんです。

確かF905iとかだとしてくれたような気がしますが、どうでしょうか?

821:816
08/06/13 22:59:01
間違えた、縦横が逆でした……。

822:デフォルトの名無しさん
08/06/14 00:18:20
なんで
}の後に;をつけなくても大丈夫なんですか?
チンチンブルルンルン

823:デフォルトの名無しさん
08/06/14 00:22:06
480x480

824:デフォルトの名無しさん
08/06/14 12:37:59
グーグル アンドロイドって どう思いますか?

825:デフォルトの名無しさん
08/06/14 12:41:37
ロボチガウ ロボチガウ

826:デフォルトの名無しさん
08/06/14 13:19:13
よくよく考えてみたらメガアプリにのみ対応させるなら240*240にする必要ないですよね
皆さんはメガに対応させるときどのサイズにしてますか?

827:デフォルトの名無しさん
08/06/14 14:59:39
いや、メガアプリでも240*240までしか使えない機種もあるし。

全機種に対応させたいなら240*240
ワイドが使いたくて比較的多くの機種に対応させたいなら240*320
その他ターゲット機種が決まってるならそれに合わせればいいんでね?

828:デフォルトの名無しさん
08/06/14 15:36:34
>>820
縦画面にしてくださいって警告が出るだけじゃない?
SH905iはそういう警告が出る

829:816
08/06/14 19:09:18
つまり、リッジレーサー等の横画面のiアプリは、
SH905iでは警告がでてプレイできないということですか?

830:デフォルトの名無しさん
08/06/14 19:14:03
>>829
たしかリッジレーサーズは縦横両バージョンがあるよ
横に出来る機種だけが横ワイド対応だったと思う

831:デフォルトの名無しさん
08/06/14 23:02:31
珍しく仕様がバラバラなんだよな。
最初バラバラすぎたのを反省して統一化してきてたのに、なんで急に?って感じ

832:デフォルトの名無しさん
08/06/14 23:18:24
横向きにできる機種とできない機種があるから仕方ないでしょ

833:デフォルトの名無しさん
08/06/14 23:28:14
そもそもSH905もSH906も横向きの時にキー操作が出来ないじゃん
SH906はタッチパネルで操作できるが、でもiアプリじゃ無理だろうし

834:816
08/06/14 23:43:10
公式サイトでSH906iのiアプリのドキュメントを見つけたんですが、
プリインストールのデビルメイクライが縦横あるみたいです。
ただ、1つのアプリなので、携帯側ではなく、
iアプリ側で描画処理を変えてると思うんですよね。
メインの3D画面はいいとして、文字部分や2D画像は、
setFlipModeか行列で回転描画してるはずです。

2D画像だけなら最初から回転したものを用意すればいいですが、
文字はFlipでできないので、一旦画像に描画してからになると思います。
あとは854*480の横ワイド画像に全部描画してから、
それを回転して画面に描画といったかんじでしょうか。

ただ、このやり方だと回転した描画を用意して座標を指定するのがわかりづらいですし、
PCで開発しているときに横になって見づらいというのがネックになると思います。
後者は描画部分をPCと実機で切り替えられるようにすればできますが、
前者はどうにもなりません。

最初から横ワイド画面で開発したのが、そのまま横画面になれば何の問題もないんです。

ちなみに私が購入を考えているのはSH906iTVで、
ほとんど同じであろうSH900iでできるかを聞いてみました。

835:デフォルトの名無しさん
08/06/15 00:08:43
同じ形の画像のうち片方は青、片方は赤の色で塗りつぶしてある物を用意して、
青のほうは表示、赤のほうは非表示(重ねるように配置)にして、
非表示にしてあるほうの色を取得するみたいなことはできますか?

836:デフォルトの名無しさん
08/06/15 00:42:03
三角関数を使うとビルドは成功しますが
起動するとRuntimeExceptionエラーが出ます
なぜですか?

837:デフォルトの名無しさん
08/06/15 00:45:36
>>836
>>779

838:806
08/06/15 01:41:46
では、SDカードに入れてあるエロiモーションを隠すことは不可能でしょうか?

あと口内炎に関してですが、治し方ではなくて
「何故できるのか」
を教えてもらえると嬉しいです。

839:デフォルトの名無しさん
08/06/15 05:37:59
>834
>ただ、このやり方だと回転した描画を用意して座標を指定するのがわかりづらいですし、
>PCで開発しているときに横になって見づらいというのがネックになると思います。

全然そんなことないよ。特に難しいことなく開発できてる。

1行目について:
座標変換は必要なし。あたかも最初から横長のCanvasであるかのように、
画像でも文字でも854x480のImage(オフスクリーンバッファ)に描くだけのこと。
それをCanvasに描画するときにsetFlipMode()。

2行目について:
エミュレータに854*480(横長)のデバイスを作って追加する。
設定が面倒だけど1度やってみることオヌヌメ。

840:816
08/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:デフォルトの名無しさん
08/06/15 10:58:04
>>838
なんかもう・・・他所でやれと言いたいところだが。

>では、SDカードに入れてあるエロiモーションを隠すことは不可能でしょうか?
端末側の機能でやれ。
アプリでできることはAPIリファレンスでSD-Bindingを調べろ。

>あと口内炎(略
ググれ。山ほど出る。

842:デフォルトの名無しさん
08/06/15 11:46:03
マジメか

843:デフォルトの名無しさん
08/06/15 12:23:51
>840
>携帯の方で勝手にやってくれれば一番なんですが……。
できないと決まってることに何でいつまでもグズグズ言ってんの。
「どうなんでしょうか?」じゃないでしょ。結論出してるならもう勝手にしなよ。

844:816
08/06/15 12:38:09
SH906iでできるかできないかの質問の答えはまだ出てないと思います。

以前に作ったアプリで空のImageに描画したものを、
FlipModeでCanvasに描画等をするテストをやってみました。
結果、一番重いシーンでも秒間16描画が可能でした。

createImageで作ったものに描画するのは高速なんですね。
私の勉強不足でした。
できれば906iシリーズ全てに対応させたいので、この方法でいきたいと思います。

お騒がせしました。
そして、ありがとうございました。

845:デフォルトの名無しさん
08/06/15 13:13:22
>>844
905以降は速い、うぜえ、消えろ
検証センター行け、行けないなら自分で買え

846:デフォルトの名無しさん
08/06/15 13:14:26
>>840
言っていることがちぐはぐすぎる
setFlipModeすると遅くなるなら、たった1回しかそれをせずに済む「Imageに描画>Canvasに」を採用しろよ

開発も楽だし、速度も十分速い。
そもそもCanvasのlock/unlockを使っているなら、それは「Imageに書き込む>液晶に」という動作を内部でしている。変わらん

847:816
08/06/15 13:35:20
>>845
検証センターなんてあるんですね。
個人でやっているので、この金額はちょっと高いので行きません。
SH906iTVを購入して、他の機種は公開して問題が出たら対応という感じにします。

>>846
840の時点では、setFlipModeで描画する回数よりもサイズのことを考えて、文字部分だけすれば早いのではないかと考えたんです。
setFlipModeの切り替えが遅いのなら「Imageに描画>Canvasに」ですね。
結果的にも「Imageに描画>Canvasに」になりました。

もう結論がでていることなので、開発に集中しますね。

848:デフォルトの名無しさん
08/06/15 15:06:54
俺は↑これが言っていることがさっぱりわからないんだが、一体何を基準に思考してるんだろう・・・

849:デフォルトの名無しさん
08/06/15 15:17:30
>>847
切り替えが遅いってどういう意味だ?
物理的に液晶を回転させてるとか思ってるの?
以降のdrawをFlip付きで実行してくださいって命令だろ?

Flipうんぬんじゃなく、offscreenを挟むと昔の機種は遅い
最近の機種はoffscreen経由でも高速になってる
これだけのことだろ?

850:デフォルトの名無しさん
08/06/15 15:38:34
マップとかに使う配列データはソースに直接書いておくのと、リソースにテキストとして入れておくのでは、
どちらが容量を少なくできるんでしょうか?
内容が一緒なら変わりませんか?

851:デフォルトの名無しさん
08/06/15 15:49:45
>>849
多分…。多分だが、setFlipModeを呼び出すこと自体が遅いと思ってるんじゃないだろうか…
Direct3DとかだとSetRenderStateをむやみに呼び出すなと言われるし…

>>850
変わりません

852:835
08/06/15 15:51:49
インパクトが弱いのか、書き方が悪かったのかわかりませんがスルーされてしまってるようなので
もう一度・・・。

同じ形の画像のうち片方は青、片方は赤の色で塗りつぶしてある物を用意して、
青のほうは表示、赤のほうは非表示(重ねるように配置)にして、
非表示にしてあるほうの色を取得するみたいなことはできますか?

当たり判定に使うことが出来るんじゃないかと思っているんですが、どうでしょうか?





853:デフォルトの名無しさん
08/06/15 15:55:00
>>850
resフォルダならjarファイルとして圧縮されるから減るんじゃ?

854:デフォルトの名無しさん
08/06/15 15:57:40
リファレンスでは2.0以降になっているのに3.0で
static int Math.cos(int a)
が機能しません
どうすればいいですか?


855:デフォルトの名無しさん
08/06/15 16:17:45
答えたくても、意味がわからないのでな…

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

何を答えればいいんだよ

857:デフォルトの名無しさん
08/06/15 16:29:32
何を質問しているかを…じゃね?

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

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

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

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

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

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

863:835
08/06/15 18:30:23
>>856
まさに俺のことですね。。。

>>858
描画のことです。

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

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

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

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

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


864:デフォルトの名無しさん
08/06/15 18:39:54
ダーツか、じゃアークタンジェントと平方根

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

866:デフォルトの名無しさん
08/06/15 19:59:36
絶対座標と極座標

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

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

869:デフォルトの名無しさん
08/06/15 21:43:49
角度と距離求めるくらいで数学も糞もないやろ

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

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

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

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

873:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/06/16 00:35:37
プログラマ面白いって?

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

876:デフォルトの名無しさん
08/06/16 00:39:55
>>851>>853
うーん、どっちなんでしょ?


877:デフォルトの名無しさん
08/06/16 00:40:10
底辺ばっか

878:デフォルトの名無しさん
08/06/16 00:43:23
冷徹な自己分析乙

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

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







881:デフォルトの名無しさん
08/06/16 01:44:53
CLDCについてググれ

882:デフォルトの名無しさん
08/06/16 02:47:10
>>876

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

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

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


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