トップページ⇒tech
1001コメント349KB

iモード携帯電話用Java(iアプリ) Part10

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2005/11/10(木) 15:11:53
NTT DoCoMoのiモード携帯電話用Javaに関する話題を扱うスレッドです。

※DoCoMo以外は下記スレへ。

CLDC+MIDP+携帯電話用Javaスレッド part 4
http://pc5.2ch.net/test/read.cgi/tech/1108781476/

■ iアプリ特有ではなくJava一般に関する質問はこちらへ
【初心者】Java質問・相談スレッド68【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1119115837/

■ iモード携帯電話用Java(iアプリ)まとめサイト
http://ton.my-sv.net/

■関連スレ
【日本携帯】Mascot Capsule/Micro3D【標準】
http://pc8.2ch.net/test/read.cgi/tech/1117773530/

過去スレ
Part 1 http://piza2.2ch.net/tech/kako/975/975428633.html
Part 2 http://pc3.2ch.net/tech/kako/1000/10007/1000723476.html
Part 3 http://pc2.2ch.net/test/read.cgi/tech/1040898596/
Part 4 http://pc5.2ch.net/test/read.cgi/tech/1067139509/
Part 5 http://pc5.2ch.net/test/read.cgi/tech/1084246226/
Part 6 http://pc5.2ch.net/test/read.cgi/tech/1091286071/
Part 7 http://pc5.2ch.net/test/read.cgi/tech/1102844217/
Part 8 http://pc8.2ch.net/test/read.cgi/tech/1110946222/
Part 9 http://pc8.2ch.net/test/read.cgi/tech/1120411353/
0655デフォルトの名無しさん2006/02/03(金) 22:41:36
>>654
マルチポストすんなタコ
スパゲッティー鼻から食わすぞ
0656デフォルトの名無しさん2006/02/04(土) 00:56:38
俺ならうどん鼻から食わす
0657デフォルトの名無しさん2006/02/04(土) 13:10:49
俺ならきしめん鼻から食う
0658デフォルトの名無しさん2006/02/04(土) 13:18:57
>>656
食わす前に唐辛子たっぷりかけておけよ
0659デフォルトの名無しさん2006/02/04(土) 13:59:14
みんな学ぼうとする奴に酷いな(´・ω・`)

>>654
マジレスすると、そういうのはゲームとかみながら学ぶしかないかも。
俺のオススメのゲームをリストアップするからとりあえずやってみてくれ。

ゼノサーガEp1、Ep2
バウンサー
武蔵伝II
我が竜を見よ
天外魔境3
ラジアータストーリーズ
ドラッグオンドラグーン1、2
シャイニングティアーズ
レジェンドオブドラグーン
マグナカルタ
グランディア2、X
0660デフォルトの名無しさん2006/02/04(土) 14:33:55
空気嫁
0661デフォルトの名無しさん2006/02/04(土) 14:51:49
からけ?
0662デフォルトの名無しさん2006/02/04(土) 16:39:48
なんつー偏ったリストだ。
0663デフォルトの名無しさん2006/02/04(土) 17:13:40
一つもやったことねぇな…。
0664デフォルトの名無しさん2006/02/04(土) 23:20:47
Doja5.0ではFlashLiteをアプリ内で読み込み再生できるようにしてください
0665デフォルトの名無しさん2006/02/05(日) 00:25:37
>>643
> DoJa作ってる会社がエルカミノなんたら
DoJaを作るって意味がよくわからないんだが。エミュレータのこと?

> なんだDoja4.1って。Doja5.0じゃないのかよ
これも良く意味がわからない。バージョン番号が4.1じゃなくて5.0だと何かいいことあるの?

> おなじCPUと同じOS乗っけてJVMはドコモが公式に作ってくばりゃいいのに
このあたりは同意w
まあ、
>>648
というわけだが。
0666デフォルトの名無しさん2006/02/05(日) 02:18:54
>これも良く意味がわからない。バージョン番号が4.1じゃなくて5.0だと何かいいことあるの?
メジャーバージョン番号が変わるということは、大規模な仕様変更が起きるということ
さっさと作りやすくなれ、という事かし
0667デフォルトの名無しさん2006/02/05(日) 03:52:08
iアプリの目的=ゲーム
となってしまった今、もう大規模な機能拡張の余地は
ないでしょうね。
0668デフォルトの名無しさん2006/02/05(日) 08:52:02
メジャーバージョンが上がっても互換性の問題もあるし
作りやすくなることは無いと思われ。


つかそこで「*Project」の名前がでてこないあたり、
情報少ない人なのかDoCoMoに期待してないのか。
0669デフォルトの名無しさん2006/02/05(日) 08:52:42
互換性の問題
→ 上位互換にしなきゃいけないって話ね。
0670デフォルトの名無しさん2006/02/05(日) 11:43:39
>>667
フルブラウザは?jigスレは携帯ゲースレの勢いを抜いてるよ。
着メロ作成とか、ドット絵作成とか、PCを操作するアプリとか、ゲームだけとはまだまだ言えないと思うけど。
0671デフォルトの名無しさん2006/02/05(日) 11:49:55
ドコモはSunと結託してなんか考えてたはずだよ。
そのうちメジャーアップデートがあるんじゃね?
0672デフォルトの名無しさん2006/02/05(日) 11:51:57
出てきた。これだこれ。
具体情報はなんもないけどな。
http://k-tai.impress.co.jp/cda/article/event/26465.html
0673デフォルトの名無しさん2006/02/05(日) 15:05:38
>>672
ほぅ…非常に興味深い。
ケータイ業界もまだまだいけんのかな?
携帯アプリもまだまだ飽和状態には至ってないようだな
FlashLite2.0も控えてるし。まだケータイでご飯食べていけそうだ…

BREW終わったな。俺BREWキライ
0674デフォルトの名無しさん2006/02/05(日) 15:09:49
あとは携帯電話がパソコンのようにならないことを祈るだけだ
ケータイはあくまで家電。子供からじーさんばーさんまで
快適に使えなきゃならない。
誰かが言ってたけど、ケータイにはケータイ独自の文化が
必要なんだよな。
0675デフォルトの名無しさん2006/02/05(日) 22:59:58
903でプログラム領域(900シリーズの100KB)の制限がいっきに緩和されるという噂があるが…。
ガンガンクラスを使えるようになれば、開発速度は飛躍的にあがるな。

ただ903でやられてもな…。
ベンダーは900以上というくくりかたをするし
0676デフォルトの名無しさん2006/02/06(月) 00:33:55
処理速度的にもそろそろ正しいJavaの作法に戻る頃合だろうな。
0677デフォルトの名無しさん2006/02/06(月) 01:08:05
開発速度はあがっても、ゲーム規模が無駄にでかかくなって…。
0678デフォルトの名無しさん2006/02/06(月) 02:09:12
セキュリティがあるから勝手アプリはたいして変わらんでしょ
0679デフォルトの名無しさん2006/02/06(月) 02:17:20
*Projectは全然詳細がわからないもんなあ。
0680デフォルトの名無しさん2006/02/06(月) 07:32:35
容量が増えても開発期間と単価はさほど変更されないと予想。
つーか、iアプリを1本500円以上とってユーザー付いてくるんかね?
0681デフォルトの名無しさん2006/02/06(月) 08:38:19
FFとかDQはつけても売れるだろうけどな……
0682デフォルトの名無しさん2006/02/06(月) 09:44:51
つまりエイガテキシュホウな携帯アプリが増えるでFA?
0683デフォルトの名無しさん2006/02/06(月) 09:49:58
何を指して映画的と言ってるのかよくわからんが。
0684デフォルトの名無しさん2006/02/06(月) 09:59:12
なんでこの話の流れで「映画的」というのが何を指してるのか分からないんだ
0685デフォルトの名無しさん2006/02/06(月) 10:19:18
開発と宣伝に金掛ける手法のことか? 虚仮威しでゲームが売れるかね?
0686デフォルトの名無しさん2006/02/06(月) 10:24:38
つーか、もう携帯アプリまで日本ゲーム業界の
退化の終着まで来てしまった気がするなw

そもそも505の低スペックでも無理して現代のゲームを
再現しようとしてたんだから、辿り着くのが早いのも頷ける。

後はギャルゲADVが乱立して終了か?w
0687デフォルトの名無しさん2006/02/06(月) 10:38:32
>>686
結構ギャルゲADV出てるよね。
もう少しすると急増するのかな。
0688デフォルトの名無しさん2006/02/06(月) 11:04:10
ゲームが壁にぶちあたるとツールが延びて、PCと携帯が一体化して携帯がPCを飲み込んでMSが潰れる
0689デフォルトの名無しさん2006/02/06(月) 11:13:13
勝手にゲーム業界が終わったことにされてもな。
一方では、今年は第二次ライトユーザーブーム元年とか評価してる人もいるのに。
0690デフォルトの名無しさん2006/02/06(月) 11:53:36
*Projectでのお話の中、素人な質問すみません。。

アプリを作成するとき、Canvasは複数作っておりますでしょうか?
このような場合には、Canvasを分けたほうがよい、とかといのが
あるのでしょうか?

昔の本とかを読んでいると、頑張って1つのCanvasに収めましょう
と書いてあるのですが、最近のアプリを作成する場合は、
どのようなタイミングでCanvasを使い分けているのかな、と疑問に思いまして、、


0691デフォルトの名無しさん2006/02/06(月) 12:02:45
>>690
>アプリを作成するとき、Canvasは複数作っておりますでしょうか?
アプリ次第。

>昔の本とかを読んでいると、頑張って1つのCanvasに収めましょう
1つであることが望ましいことが多い、実際俺自身は複数のキャンバスは作らない。
理由としては容量が大きくなりやすい事、切り替え時に画面の乱れが出やすい
機種が過去あったと報告があったこと、使用メモリが増えやすい事などある。

パネルとちがってキャンバスを複数使うことによる管理が有益である
場面って早々ないと思うよ。でも決まりなんてないから自分がそれが
やりやすい!ってなら複数作ればいいとおもうぞ。アプリがちゃんとできれば良いだろ?w
0692ギャルゲー開発者2006/02/06(月) 17:50:34
>>686
これから月一本ペースで萌えギャル系ADVのiアプリを作って黄金期に
入る予定ですが、何か?

とりあえず、今日はiアプリ入門を書見ながらでキャンバス出して画像
表示するところまで作ってみました。
0693デフォルトの名無しさん2006/02/06(月) 18:20:20
萌え系のシナリオ考えるので死ねそうな
0694デフォルトの名無しさん2006/02/06(月) 18:30:42
>>692
むしろ雇って欲しいとすら思うが、黄金期は長くは続かんのだろうな('A`)
0695デフォルトの名無しさん2006/02/06(月) 18:50:37
ごらあ!
0696デフォルトの名無しさん2006/02/07(火) 00:28:56
すみません質問いいでしょうか?
今、Doja4.1と連携させているEclicpse3.1.1でサーブレットとJSPとiアプリを作っています。
Tomcat5.X(細かいバージョン忘れました)とTomcat-ant、jdk1.5.0_06、MySQLを入れています。

アプリの内容は、テキストボックスに文字を入れるとその文字をサーブレットが受け取り
MySQLに保存し、結果を返すというものです。

ひと通り形になるものを作ったので、
iアプリでアクセスするURLを「http://localhost:8080/webアプリ」から「http://DNSサーバが指定したドメイン/webアプリ」で
設定し更にADFのURLも同じ設定に直しまして本番用のサーバに作成したWebアプリをEclipseのワークスペースから
フォルダごとTomcatのWeb-appsの下に入れました。

で改めてエミュレータアクセスすると10 null
と出た後3 Already connecting
としか出なくなります。
これは、なんでしょうか。どうか教えてください。
ちなみに本番用のサーバのApacheの連携等はやってますしServer.xmlの設定もしてます。
0697デフォルトの名無しさん2006/02/07(火) 08:02:03
DoJaの方に問題があるはず。
が、それだけの情報では何とも。
ちゃんとclose()した?
0698デフォルトの名無しさん2006/02/07(火) 11:09:57
DoJa4.1の開発ツールのエミュレータでプリミティブ描画しようとしたらエラーでる…orz
4.0の開発ツールでは動いています。

Uncaught exception java/lang/RuntimeException: Rendering failed.

java.lang.RuntimeException: Rendering failed


どなたか原因をご存知ないでしょうか。
ちなみにちゃんとDLLは
micro3d_d4.dll , micro3d_v3_32.dll ともにbinフォルダ内に入っております。
使用しているのは com.nttdocomo.opt.ui.j3d あたりです。
0699デフォルトの名無しさん2006/02/07(火) 14:14:55
>>692
言っちゃ悪いが、やな黄金期だな。
0700デフォルトの名無しさん2006/02/07(火) 14:18:00
ごるあ
0701デフォルトの名無しさん2006/02/07(火) 14:51:04
黄金と黄昏は50%くらい似ている
0702デフォルトの名無しさん2006/02/07(火) 15:01:21
黄金期なんて一瞬だよ。その後は鬱展開が延々続く。ベルセルクみたいに。
0703デフォルトの名無しさん2006/02/07(火) 18:46:49
>>697
はい。
ちゃんとコネクトクローズしてます。
何度、やりなおしてもエクリプス上ではまともに動いて本番用のサーバに乗っけたら
おかしくなるんです・・・・・。

0704デフォルトの名無しさん2006/02/07(火) 19:30:00
実機では
ポート80以外繋げない
アプリ自身が置いてあるサーバーと、違うサーバーとは通信できない

あたりに心当たりはないか?
とりあえずSQLどーのではなく、サーバーにおいてあるTXTファイルでも読み込ませてみれ。
0705デフォルトの名無しさん2006/02/07(火) 19:59:04
五巻くらいで、全てを知った面するな。イマダ!!!
0706デフォルトの名無しさん2006/02/07(火) 19:59:38
ひだりのルパンがドラマ版の電車男に似てる・・・
0707デフォルトの名無しさん2006/02/07(火) 20:00:27
ごめんなさい。誤レスです。
0708デフォルトの名無しさん2006/02/07(火) 20:08:21
>>704
サーバーのTXTが何処を指すのかわからなかったので設定した部分を書いておきます。
C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\booklibrary\WEB-INF\web.xml

<?xml version="1.0" encoding="ISO-8859-1" ?>
- <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
- <servlet>
<servlet-name>iBook</servlet-name>
<servlet-class>booklib.Ibooklib</servlet-class>
</servlet>
- <servlet-mapping>
<servlet-name>iBook</servlet-name>
<url-pattern>/booklib</url-pattern>
</servlet-mapping>
- <servlet>
<servlet-name>Isbncomple</servlet-name>
<servlet-class>booklib.Isbncomple</servlet-class>
</servlet>
- <servlet-mapping>
<servlet-name>Isbncomple</servlet-name>
<url-pattern>/isbncomple</url-pattern>
</servlet-mapping>
</web-app>
0709デフォルトの名無しさん2006/02/07(火) 20:10:50
C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\server.xml

- <!--
<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>


-->
- <Context path="/booklibrary" reloadable="true"
docBase="C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\booklibrary"
workDir="C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\booklibrary\work">
<Resource name="jdbc/BookLib"
   auth="Container" type="javax.sql.DataSource"
   username="MyBooker" password="11922960"
   driverClassName="com.mysql.jdbc.Driver"
   url="jdbc:mysql://localhost/MyBook?useUnicode =true&charcterEncoding=UTF-8"
   maxActive="10" maxIdle="4" maxWait="5000"
  validationQuery="SELECT count(*) FROM book" />
</Context>
</Host>
</Engine>
</Service>
</Server>


とりあえずこんな感じで設定しました。
0710デフォルトの名無しさん2006/02/07(火) 20:31:11
>>704
あと
>アプリ自身が置いてあるサーバーと、違うサーバーとは通信できない

と書かれていますが、エミュレータで行う場合ADFのURLを
任意のサーバのアドレスに書き換えて置けば大丈夫ではないのでしょうか?
0711デフォルトの名無しさん2006/02/07(火) 20:48:25
あー、そうね。
本番用ってそういうことなのね。実機で試したって意味じゃないのね。

そのサーバーがまともに動いてる保証が手に入ってから、iアプリスレに来なさい。
0712デフォルトの名無しさん2006/02/07(火) 20:58:29
>>711
はい。

色々ありがとうございました。
0713デフォルトの名無しさん2006/02/08(水) 00:21:42
Graphicsに描画したものをImageとして持つことは出来るのでしょうか?
0714デフォルトの名無しさん2006/02/08(水) 00:28:51
意味がわからん。
Canvasに表示したものってことか?
無理。
0715デフォルトの名無しさん2006/02/08(水) 02:34:46
>>713
> Graphicsに描画したものをImageとして持つことは出来るのでしょうか?

ふつうはGraphics「で」描画するもんだと思うが・・・
0716デフォルトの名無しさん2006/02/08(水) 02:38:07
>>713
ImageのGraphicsコンテキストを取得すれば、
Imageオブジェクトに描けたはず。
0717デフォルトの名無しさん2006/02/08(水) 10:24:56
gifとかjpgのImageってGraphicsコンテキスト取れたっけ?
0718デフォルトの名無しさん2006/02/08(水) 10:45:56
>>717
取れるのは、createImageで作ったImageだけだったよーな。
0719デフォルトの名無しさん2006/02/08(水) 13:50:30
getRGBPixelsでだめなのか?すげー重いけどさ・・
07201/32006/02/08(水) 23:49:51
Master.java
public class Master extends IApplication{
   private TitlePanel title;
   private GameCanvas game;
   public void start(){
      title=new TitlePanel(this);
      game=new GameCanvas(this);
      Display.setCurrent(title);
   }
   public void play(){
      ※game.gameStart();
   }
  …
  …
}
07212/32006/02/08(水) 23:51:49
TitlePanel.java

public class TitlePanel extends Panel
         implements ComponentListener,SoftKeyListener{
   private Master master;
  …
   public TitlePanel(Master master){
      super();
      this.master=master;
  …
  …
   }
   public void softKeyReleased(int key){
      if(key==SOFT_KEY_1){
         IApplication.getCurrentApp().terminate();
      }else if(key==SOFT_KEY_2){
         master.play();
      }
   }
}

07223/32006/02/08(水) 23:53:11
GameCanvas.java

public class GameCanvas extends Canvas{
  …
  …
   public GameCanvas(Master master){
      …
   }
   public void gameStart(){
      …
      …
   }
}

この※の所でぬるぽが発生します
自分には原因がつかめないのですが、誰か分かる方教えてください
ソースはかなり縮めましたので、必要な部分があれば言って下さい

流れ的には
MasterがTitle出す
↓
TitleがkeyEventでMasterのplay()を呼ぶ
↓
game.gameStart()でぬるぽ

です
0723デフォルトの名無しさん2006/02/09(木) 00:06:55
GameCanvas#gameStart()の中で
エラーが出てるんじゃないの?
0724720-7222006/02/09(木) 00:13:52
>>723
その通りでしたorz
0725デフォルトの名無しさん2006/02/09(木) 02:47:46
g.drawImage(Image,0,0,0,-10,240,20);
ってしたらImageの 0,0,240,10 の領域が 0,0 から描画されるんだね。
今日はじめて知った。なんか描画がずれるからへんだと思った。
範囲外は詰められるのか。…常識?
0726デフォルトの名無しさん2006/02/09(木) 03:23:40
>>725
何も変じゃないし、常識とかそういう話でもない。
その引数ならそのように描画されると思うが。

むしろ、ソース画像のy座標に負数を与えてるのに
何らかの形で描画されていることの方が変だとも言える。
例外吐いて止まっても不思議じゃない。
0727デフォルトの名無しさん2006/02/09(木) 09:08:17
画像外は透明として処理して欲しい気持ちはよくわかる。
よくわかるが…。
0728デフォルトの名無しさん2006/02/09(木) 11:11:00
    _____
   /::::::::::::::::::::::::::\                  _
  /::::::::::::::::::::::::::::::::::::::\              /  ̄   ̄ \
  |:::::::::::::::::|_|_|_|_|            /、          ヽ はぁ?黙ってピザ食ってろ
  |;;;;;;;;;;ノ   \,, ,,/ ヽ          |・ |―-、       | 
  |::( 6  ー─◎─◎ )          q -´ 二 ヽ      |
  |ノ  (∵∴ ( o o)∴)          ノ_ ー  |     | 
/|   <  ∵   3 ∵>          \. ̄`  |      / 
::::::\  ヽ        ノ\           O===== |
:::::::::::::\_____ノ:::::::::::\        /   
0729デフォルトの名無しさん2006/02/09(木) 13:39:37
>>725
drawScaledImageのようにバージョンによって仕様外だった部分が修正される可能性もあるし
値を丸めて描画するようにする方向に変更したほうがのちのち良いかと思うぞ。
0730デフォルトの名無しさん2006/02/10(金) 21:39:25
携帯用flashって最新機種でどれくらいのモンが走るんだ?
iアプリのDQぐらいのレベルまで動くん?
0731デフォルトの名無しさん2006/02/10(金) 22:28:28
Flash4並。
0732デフォルトの名無しさん2006/02/11(土) 01:31:05
ヒープ容量1.5M以上の端末で
情報配信系のアプリを作ろうとしているのですが、
画像や文字で100K位は確保しても、OutOfMemoryにはならないでしょうか?

まあ、作る内容や作り方にもよると思うのですが、
だいたいこの位なら大丈夫で、
それ以上だとSPに入れようかなという目安がありましたら、
お教え頂きたいです!

できるだけ、メモリ上で処理したいので、、
0733デフォルトの名無しさん2006/02/11(土) 09:08:54
>>732
つ「new byte [100 * 1024]」
0734デフォルトの名無しさん2006/02/11(土) 12:18:03
>>732
240*240の画像一枚で100k以上ヒープ食うわけだけど、
その辺理解してる?
常に数十KBヒープが余ってりゃそうそう落ちないと思うが、
その辺の計算できない奴なら常にgcとgetImageでもやってろ。
0735デフォルトの名無しさん2006/02/11(土) 12:58:45
全画面画像を使う情報配信アプリってどんなだよwwwwww
0736デフォルトの名無しさん2006/02/11(土) 14:58:57
>>732
> まあ、作る内容や作り方にもよると思うのですが、
それが答えだよ。
こんなものに目安があると思ってる時点で考え方がおかしい。
0737デフォルトの名無しさん2006/02/11(土) 17:40:56
一番最初につきはなした733である俺が言うのもなんだが、お前ら畳み掛けるこたーねーだろ
>>732
ヒープ領域1.5Mなのに、100Kで落ちるとどうして思えるよ
0738デフォルトの名無しさん2006/02/11(土) 20:06:20
DoJa-3.5エミュレータで実験したことで、以下について質問。

キャンバス上でこうすると画面は赤くなる。
int red = Graphics.getColorOfName(Graphics.RED);
int cvW = getWidth(), cvH = getHeight();
Graphics g = getGraphics();
setBackground(red);
g.clearRect(0, 0, cvW, cvH);

Imageに対して同様のことをする。
Image img = Image.createImage(cvW, cvH);
Graphics ig = img.getGraphics();
setBackground(red);
ig.clearRect(0, 0, cvW, cvH);
g.drawImage(img, 0, 0);

画面が赤くなる(赤いimgが表示される)ことを期待するが、実際は白いまま。
Graphics#clearRect()が有効なのはキャンバスのgに対してのみで、
イメージのg(上記ではig)に対しては無効なのだろうか?
0739デフォルトの名無しさん2006/02/11(土) 20:58:24
>>738 ('д')・・・
つ Graphics g = getGraphics();
  g.drawImage(img, 0, 0);
07407382006/02/11(土) 21:08:05
>>739
いや、それはもちろんそうしてる。cvW,cvH,colの宣言と同様、書くのを省略しただけ。
>>738の後半はこういうこと。
int red = Graphics.getColorOfName(Graphics.RED);
int cvW = getWidth(), cvH = getHeight();
Graphics g = getGraphics();
Image img = Image.createImage(cvW, cvH);
Graphics ig = img.getGraphics();
setBackground(red);
ig.clearRect(0, 0, cvW, cvH);
g.drawImage(img, 0, 0);
0741デフォルトの名無しさん2006/02/11(土) 21:39:18
>>734
えー、画像一枚で100K以上もヒープ食うんだ、、 知らなかった。。
Stringとかも、その文字のバイト数以上食っちゃうのかなぁ、、

勉強になります!
0742デフォルトの名無しさん2006/02/11(土) 21:41:11
>>740
Canvas#setBackground(int) なんだから
Canvas (のインスタンス) の背景色を設定するだけなのは当然じゃね?
勝手に Image の背景色が変わったら困るだろ

そもそも Graphics#setBackground(int) じゃないのが設計ミス。
0743738=7402006/02/11(土) 22:47:11
>>742
setBackground()がCanvas(の親クラスFrame)の背景色を指定するもの
だということは認識している。
また、setBackground()を実行して直ちに色が画面に反映されるのではなく、
clearRect()したときに初めてCanvas(Frame)の背景色が変わる。

どうやらclearRect()はCanvasのGraphicsオブジェクトに対してのみ有効
ということでよさそうだね。
だとすればAPIリファレンスのGraphics#clearRect()の説明の書き方が悪いよなぁ。

Graphics自体の説明では「キャンバスおよびイメージに対応するグラフィックスコンテキスト」
としていて、clearRect()の説明では「(setBackground()で指定した)背景色で塗りつぶします」
としている。
ならばイメージに対してclearRect()しても(Canvasの)背景色で消去されるもの
だと当然思える。が、実際には処理されない。
それならちゃんと「CanvasのGraphicsに対してのみ有効なメソッドですよ」と
注意書きが必要なんじゃないかな、と。
0744738=7402006/02/11(土) 22:56:37
まぁでも、それならそれでImage(でもCanvasでも)の背景色を指定する
Graphics#setBackground()なるものがあって然るべきだろうよ、
っていうのは同意。

仕方ないのでImageに対してはfillRect()使う。(それしかできねー)
0745デフォルトの名無しさん2006/02/11(土) 23:13:57
そうか、今の中高生って物心ついたときにはWin95が既にあったんだな((((;゚Д゚))))
07467422006/02/11(土) 23:39:38
>>743
> ならばイメージに対してclearRect()しても(Canvasの)背景色で消去されるもの
> だと当然思える。が、実際には処理されない。

思えない。
Canvas のインスタンスを複数作ったらどの背景色使うか決められない。

> それならちゃんと「CanvasのGraphicsに対してのみ有効なメソッドですよ」と
> 注意書きが必要なんじゃないかな、と。

Image のでも有効。白かなんかで塗りつぶされるだろ。
背景色を指定できないだけ。
0747デフォルトの名無しさん2006/02/12(日) 01:14:41
そもそもCanvasで設定した物が
ImageのGraphicsに反映されてたらそれこそバグだと思うんだが。
0748デフォルトの名無しさん2006/02/12(日) 01:35:44
>>741
240*240*2=115200
*2は16bitカラーなので。
ただ、D端末は昔から32bitなので240*240*4かかる。
0749デフォルトの名無しさん2006/02/12(日) 02:26:05
>>743 みたいに自分の無理解をドキュメントのせいにされたら中の人もたまらんわな。
0750デフォルトの名無しさん2006/02/12(日) 03:53:51
>>743の後半は言われてみればドキュメントからそう読み取れない
こともないような気もする。もちろんそれは正しくないんだが。
無理解だとまでは言わないが、思い込みで突っ走らないようにってとこか。
0751デフォルトの名無しさん2006/02/12(日) 16:59:22
iアプリバージョンアップ時の画面遷移方法についてご教授いただきたいの
ですが、バージョンアップ時は「バージョンアップに同意しますか?」という
質問に「はい」と答えたら自動的にバージョンアップされてiアプリが
落ちて再度起動されるものと思っていますが、実際にやりたいのは
バージョンアップに同意したら利用規約画面に遷移し、そこで「同意する」
ボタンを押してからバージョンアップが始まって、終了画面をかませてから
iアプリの起動を行う。というやり方をしたいと思っております。
それって可能なのでしょうか。。。?
0752デフォルトの名無しさん2006/02/12(日) 17:37:02
非常に読みづらい。
0753デフォルトの名無しさん2006/02/12(日) 17:55:52
読みづらいですか・・・

えっと、要はバージョンアップをする際に
勝手にバージョンアップ→iアプリ起動ではなく
いろいろ画面をかませてから起動させたいのです。
可能でしょうか・・・?
0754デフォルトの名無しさん2006/02/12(日) 18:02:03
>>751
普通には不可能。

一度ダウンロードしたアプリはjamをダウンロードしたURLを覚えていて、
バージョンアップ時はソコを見にいっちゃう。これは端末の機能であって、
このプロセスにiアプリはまったく関与できないから、当然制御も不可能。

だから起動成功時に現在のバージョン情報をスクラッチパッドに書いておいて、
起動のたびにiアプリ自身が持つバージョン情報を比較、
必要に応じて一度だけ利用規約を出す、みたいな処理を自前で書くしかない。
■ このスレッドは過去ログ倉庫に格納されています