人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

回答によっては1000ポイントまたはそれ以上進呈。
数度の質問で解決した場合は解決後のポイント贈呈もあります。

以下は携帯電話の待ち受け画面で携帯が開閉される度に画像を変えるものです。
画像4枚を交互に表示します。
わからない(不完全)部分がありますのでご指導おねがいいたします。

<a href="http://homepage2.nifty.com/h/MAp2/hatena725.html">コードはこちらのURLです。</a>

●質問者: DreamStar
●カテゴリ:コンピュータ ゲーム
✍キーワード:コード ポイント 携帯 携帯電話 画像
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● aiaina
●60ポイント

URLが飛ばないようですが??

◎質問者からの返答

アドレス表示で、・・・725.html">の">の部分をはずして再実行してください。移動します。

あるいはアドレス入力で直接手入力でも移動します。よろしくお願いいたします。


2 ● newradio
●0ポイント

http://homepage2.nifty.com/tomoarai/


3 ● tsyk
●0ポイント

while(true)

if (type == FOLD_CHANGED_EVENT && param == 1)

の部分は以下のように修正が必要ですね。

while(true)

else if (type == FOLD_CHANGED_EVENT && param == 1) {

さらに、IApplication.getCurrentApp() メソッドを利用すれば変数 i にアクセスすることができるので、

public class MAppliCanvas2 extends Canvas {

Image[] image;

の直後に以下のコード追加して、

MAppli2 app = (MAppli2)IApplication.getCurrentApp();

仕上げに、

g.drawImage(image[i], 0, 0);

この変数 i にアクセスする部分を、

g.drawImage(image[app.i], 0, 0);

に修正すれば、いけると思います。


4 ● Ryks
●0ポイント

auですがカシオには「オープンエミーロ」なる機能があります。

そのまんまですねw


5 ● tsyk
●2000ポイント ベストアンサー

二回目の回答ですが、先ほどの修正だけでは動作しませんでした。

いちおう今回は端末エミュレータで動作を確認しています。

折り畳みを開いた時のイベント通知で画面を再描画しないと画像が更新されないので、Canvasクラスのrepaintメソッドを呼ぶ処理を追加します。Canvasクラスのオブジェクトをstart()メソッド内のローカル変数ではなく、クラスのインスタンス変数にしないと、processSystemEvent()メソッド内からアクセスできないので、以下のように変更します。

> public class MAppli2 extends MApplication {

> int i;

> MAppliCanvas2 c;

> public void start() {

> c = new MAppliCanvas2();

> Display.setCurrent(c);

> }

そして、processSystemEvent()メソッド内の else if 節で、

以下のように repaint()メソッドを呼び出します。

> else if (type == FOLD_CHANGED_EVENT && param == 1) {

> i = i + 1;

> i = i % 4;

> c.repaint();

> }

また、MAppliCanvas2クラスにて、Image[]に画像を読み込む処理をpaint()メソッド内に記述すると、再描画のたびに何回も呼ばれてしまってマズイので、MAppliCanvas2クラスにコンストラクタを追加して、そこに移動したほうが良いでしょう。

> MAppliCanvas2() {

> ここにimageの初期化処理(try/catch節)を置く

> }

◎質問者からの返答

tsyk様

ありがとうございました。これからも質問します。またよろしくお願いいたします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ