• 締切済み

6枚の画像をランダムに表示させる方法を教えてください

現在do-jaでJavaのアプリケーションを作成しているのですが 6枚の画像をあるエリア内にランダムに配置して表示させたいのですがどういう風にソースを書けば良いか教えてください。 イメージ的にはオセロの盤面に6種類の画像を升目にランダムに配置するものです。 public void start(){ Display.setCurrent(new IAppliCanvas()); } } class IAppliCanvas extends Canvas{ int d1=20; int d2=20; int k1=1; int k2=1; int flgk=1; int flg1=0; int flg2=0; Image img; public static Random rand=new Random(); public IAppliCanvas() { int s=rand.nextInt(6); try { MediaImage mimage; switch(s) { case 1: mimage = MediaManager.getImage("resource:///z-blue.gif"); break; case 2: mimage = MediaManager.getImage("resource:///z-green.gif"); break; case 3: mimage = MediaManager.getImage("resource:///z-orange.gif"); break; case 4: mimage = MediaManager.getImage("resource:///z-prum(1).gif"); break; case 5: mimage = MediaManager.getImage("resource:///z-prum.gif"); break; default: mimage = MediaManager.getImage("resource:///z-red.gif"); break; } mimage.use(); img = mimage.getImage(); } catch(Exception e) { e.printStackTrace(); } } 上記のように記述したのですが同じ画像が全部の升目に表示されてしまいます・・・ ご指南お願いいたします。

noname#133567
noname#133567
  • Java
  • 回答数2
  • ありがとう数0

みんなの回答

  • d-mme
  • ベストアンサー率100% (2/2)
回答No.2

一番考えられるのは、リソースファイルから画像を取得するのが、起動時の1回のみで、imgデータに同じデータが入っている可能性があります。 リソースファイルから画像を取得するのが起動時の1回のみでしたら、配列に格納してはいかがでしょうか? Image[] img = new Image[6]; String[] pass = { z-blue.gif, z-green.gif, z-orange.gif, z-prum(1).gif, z-prum.gif, z-red.gif }; for(int i = 0; i < 6; i++){ try { MediaImage mimage; // リソースファイルから取得 mimage = MediaManager.getImage("resource:///"+pass[i]"); mimage.use(); img[i] = mimage.getImage(); } catch(Exception e){} finally{ // メモリー確保 mimage = null; } } 上記の方法で格納したimgの配列を升目の位置にランダムで配置していけばいけると、思います。

  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.1

升目に表示する部分のコードを見ないと…。 しかし、非標準のクラスばっかしなので、当方には何もわかんないかも。

関連するQ&A

  • ランダムに背景画像を変える方法。

    掲示板などのCGIの背景をランダムに変えたいのですが、 どうすればいいのでしょうか? あるサイトでは、 @backimg =('img1.gif', 'img2.gif', 'img3.gif'); srand(time); $imgno=rand($#backimg+1); そして $body="<body background=\"$backimg[$imgno]\">"; となっていたのですが、これをCGIに埋め込んでもうまく動きません。 (img1.gifしか表示されません。) どうすれば背景画像をランダムに変化させることができるのでしょうか?

    • ベストアンサー
    • CGI
  • PHPで画像を表示するプログラムについて

    実行するとランダムで取得した値を利用して、3パターンくらいの画像を切り替えて表示するPHPファイル を作成したいです! 以下のように書いてみたのですが、如何せん初心者なものでできない原因すらわかりません! 間違っているところを是非指摘していただきたいです。 宜しくお願い致します <?php $rand = rand(1,10); switch($rand){ case 1: echo("1"); break; case 2: echo("2"); break; case 3: echo("3"); break; case 4: echo("4"); break; case 5: echo("5"); break; case 6: echo("6"); break; case 7: echo("7"); break; case 8: echo("8"); break; case 9: echo("9"); break; case 10: echo("10"); break; if ($rand <= 3){ echo"<img src='a.jpg'>"; } elseif ($rand 4< || $rand >6 ) { echo"<img src='b.jpg'>"; elseif ($rand 7< || $rand >10 ) { echo"<img src='c.jpg'>"; } } ?>

    • 締切済み
    • PHP
  • ランダム表示の画像位置

    初めまして、本当に初心者な質問で 申し訳ないのですが回答を頂ければ 嬉しく思います。 ホームページビルダー7ライトを使い、 画像をランダムで変えたいと思って 調べてやってみたところ、以下の JavaScriptで一応は出来たんです。 <script language="JavaScript"> <!-- img = new Array img[0] = "gif/1.gif"; img[1] = "gif/2.gif"; img[2] = "gif/3.gif"; img[3] = "gif/4.gif"; img[4] = "gif/5.gif"; rnd = Math.floor(Math.random() * img.length); document.write("<img src='",img[rnd],"'>"); //--> </script> しかし、画像が一番左上に出てしまいます。 これを位置調整しようと思ったらどんな JavaScriptを使えばよろしいでしょうか? 本当に申し訳ありませんが、回答の方を どうかよろしくお願い致します。

  • iアプリののプログラミングで

    iアプリを作ろうとしています。 アプリから画像を取り込むのに、 MediaImage mi = MediaManager.getImage("resource:///…image.gif"); では表示(画像の取得)ができるのに、 MediaImage mi = MediaManager.getImage("http://…image.gif"); では表示というか、画像に対してアクセスすらしてくれません。 何か不具合な点があるのでしょうか? ご存知の方、よろしくお願いします。

    • ベストアンサー
    • Java
  • javascriptを使って画像のランダム表示とロールオーバーをセット

    javascriptを使って画像のランダム表示とロールオーバーをセットで行いたいのですが上手くいきません… javascript超初心者です…。画像をランダムに表示し、さらにそのランダムに表示された画像をそれぞれ違った画像にロールオーバーさせたいのですが上手くいきません。 一応以下のように書いて試しているのですが、ランダム表示はするのですが、ロールオーバーはエラーがでてしまい画像が切り替わりません。どのようにすれば上手く出来るか、知恵を貸してください。宜しくお願いします。 <html> <body> <SCRIPT language="JavaScript"> <!-- // ランダムに画像を表示する img = new Array(); onMouseover = new Array(); onMouseout = new Array(); // 画像のアドレス(数字はジャンプ先のアドレスと対応) img[0] = "top1.gif"; img[1] = "top2.gif"; img[2] = "top3.gif"; img[3] = "top4.gif"; img[4] = "top6.gif"; // マウスオーバー onMouseover[0] = "top1roll.gif"; onMouseover[1] = "top2roll.gif"; onMouseover[2] = "top3roll.gif"; onMouseover[3] = "top4roll.gif"; onMouseover[4] = "top6roll.gif"; // マウスアウト onMouseout[0] = "top1.gif"; onMouseout[1] = "top2.gif"; onMouseout[2] = "top3.gif"; onMouseout[3] = "top4.gif"; onMouseout[4] = "top6.gif"; n = Math.floor(Math.random()*5); document.write("<img src='"+img[n]+"' border='0' onMouseover='"+onMouseover[n]+"' onMouseout='"+onMouseout[n]+"'>"); //--> </SCRIPT> </body> </html> 補足 ●ランダム用の画像が1~5まで、ロールオーバー用の画像がa~eまであるとして、ランダム表示によって1が表示されたらロールオーバーで表示される画像はaのみ、マウスアウトしたら1に戻る、というようにしたいです。同じように2-b,3-c…というように対応させたいです。 ●ページ読み込み時のみランダム用画像をランダム表示させ、後は上記のような流れにしたいです。 長くなりましたが、どなたか回答お願いいたします。

  • 画像をランダムに表示し、リンクもランダムにしたい

    下記の通りにしたら、ランダムに画像が表示され、 クリックすれば画像とペアになっているアドレス先に飛ぶことは出来たのですが そのときのリンク先をランダムにすることは出来ないでしょか? 例えば、img[2] の画像が表示された場合、jmp[2] ではなく 5つのアドレスの中からランダムにリンク先が決まる、 というようなことなんですが・・・。 // ランダムに画像を表示する jmp = new Array(); img = new Array(); // ジャンプ先のアドレス(数字は画像と対応) jmp[0] = "http://~"; jmp[1] = "http://~"; jmp[2] = "http://~"; jmp[3] = "http://~"; jmp[4] = "http://~"; // 画像のアドレス(数字はジャンプ先のアドレスと対応) img[0] = "img/img1.jpg"; img[1] = "img/img2.jpg"; img[2] = "img/img3.jpg"; img[3] = "img/img4.jpg"; img[4] = "img/img5.jpg"; n = Math.floor(Math.random()*jmp.length); document.write("<a href='"+jmp[n]+"' target='_blank'>"); document.write("<img src='"+img[n]+"' border='0'>"); document.write("</a>");

  • かぶらないランダム画像

    こんにちは。 現在ランダムに画像表示+画像毎に各リンク+マウスオーバーで画像切り替え を下記スクリプトで行っております。 function randomImage1() { img = new Array(); img[0] = "photo1.gif"; img[1] = "photo2.gif"; img[2] = "photo3.gif"; img[3] = "photo4.gif"; n = Math.floor(Math.random()*2); url = 'URL1 URL2'.split(' '); document.write('<a href="'+url[n]+'" target="_top"><img src="'+img[n]+'" border="0" onMouseOver="this.src=\''+img[n-0+2]+'\'" onMouseOut="this.src=\''+img[n]+'\'" onClick="location.href=\''+url[n]+'\'"></a>'); } ここで相談です。さらにこのソースを改造して 重複しないでランダムに画像表示させたいのですが、 どこをどう改造すれば良いかアドバイス宜しくお願い致します。

  • 画像をランダムに表示させマウスを重ねるとさらに切り替わる方法

    今HPを作成しているんですが、題名の方法が知りたいです。 JavaScriptを使って画像をランダムに表示させる方法ありますよね。 <script language="javascript"> <!-- //ランダムに画像を表示 img = new Array(); img[0] = "画像1"; img[1] = "画像2"; img[2] = "画像3"; n = Math.floor(Math.random()*img.length); document.write("<img src='"+img[n]+"' border='0'>"); //--> </SCRIPT> それとマウスを重ねると画像が変わる onmouseover="this.src='画像4'" onmouseout="this.src='画像5'" というタグありますよね。 2つのタグを組み合わせてランダムに表示された画像に マウスを重ねると画像がかわるということがやりたいのですが JavaScriptの知識があまりないためわかりません。 この方法は可能でしょうか? もしくは他の方法あるでしょうか? ランダムに表示される画像は3枚と仮定し、 それぞれ3枚の画像はマウスを重ねるごとに 違う画像を表示させたいと思っています。 解決法をわかるかたがいらっしゃったら よろしくお願い致します。

    • ベストアンサー
    • HTML
  • FC2ブログでランダムに表示される画像の下にコメントを入れたいのですが

    FC2ブログでランダムに表示される画像の下にコメントを入れたいのですが方法がわかりません。 ブログ初心者です。下記で画像をランダムに表示させることはできました。 (http://q.hatena.ne.jp/1182622592を参考) <SCRIPT language="JavaScript"> <!-- // ランダムに画像を表示する img = new Array(); img[0] = "http://blog57.fc2.com/a/adobeurawaza/file/aboutlogo.gif"; img[1] = "http://blog57.fc2.com/a/adobeurawaza/file/barlogo.gif"; img[2] = "http://blog57.fc2.com/a/adobeurawaza/file/columnlogo.gif"; img[3] = "http://blog57.fc2.com/a/adobeurawaza/file/linklogo.gif"; img[4] = "http://blog57.fc2.com/a/adobeurawaza/file/tecniquelogo.gif"; n = Math.floor(Math.random()*img.length); document.write("<img src='"+img[n]+"' alt='・'>"); //--> </SCRIPT> 各画像の下にその画像についてのコメントを入れたいのですがどのようにしたらよいのか わかりません。 どうぞよろしくお願いします。

  • Javascriptでランダムに画像を表示させ、さらにリンクさせる

    当方、ホームページを作成していまして、 画像をランダムに表示させることはできたのですが、 さらにその画像をクリックにて違うページにリンクさせたいと考えております。 いろいろ検索してみたのですが、明確な回答が見つからなかったもので、、、 どなたかご回答いただけると、大変助かります。 どうぞよろしくお願いいたします。 現時点で、以下の様になっています。 (4枚の画像をランダム表示させ、リンク先は同じ場所を考えています) <script language="JavaScript"> <!-- ranimg = new Array(); ranimg[0]="0.gif"; ranimg[1]="1.gif"; ranimg[2]="2.gif"; ranimg[3]="3.gif"; xx = Math.floor(ranimg.length*Math.random()); ranimg = ranimg[Math.floor(xx)]; document.write('<img src="'+ ranimg +'">'); // --> </script>

専門家に質問してみよう