HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
1212
Kame画像のランダム表示の仕方を教えてください..4未解決


Kame

リンク

2014/12/12(Fri) 23:21:25|NO.66432

現在作っているスクリプトで画像のランダム表示の全く分かりません。
いろいろ試したのですが.. 分かる方、御回答お願いします。

buffer 1
picload "image03.bmp"
buffer 2
picload "image02.bmp"
buffer 3
picload "image01.bmp"
screen 0
repeat
color 255,255,255
boxf
pos 50,0
gcopy 1,0,0,331,330
wait 30
boxf
pos 0,0
gcopy 2,0,0,407,373
wait 30
boxf
pos 16,0
gcopy 3,0,0,371,351
wait 30
loop


上記のスクリプトです。
よろしくお願いしますm(_ _)m



この記事に返信する


可憐

リンク

2014/12/13(Sat) 01:00:26|NO.66434

ランダム系は基本的にrandomizeで乱数を初期化して
rndでランダムに番号を生成できます


buffer 1 picload "image03.bmp" buffer 2 picload "image02.bmp" buffer 3 picload "image01.bmp" screen 0 randomize ; 追加 repeat color 255,255,255 boxf pos 50,0 rand=rnd(4) ; 追加 gcopy rand,0,0,331,330 wait 30 boxf pos 0,0 rand=rnd(4) ; 追加 gcopy rand,0,0,407,373 wait 30 boxf pos 16,0 rand=rnd(4) ; 追加 gcopy rand,0,0,371,351 wait 30 loop



Okura☆

リンク

2015/1/5(Mon) 23:01:00|NO.66890

上のひとの改良版


screen 0 buffer 1 picload "image03.bmp" buffer 2 picload "image02.bmp" buffer 3 picload "image01.bmp" gsel 0 randomize ; 初期化 gx=0;画像表示してるときのx gy=0 repeat redraw 0 color 255,255,255 boxf pos 50,0 rand=rnd(5)+1 ; 追加 If rand=1:gx=331:gy=330 If rand=2:gx=407:gy=373 If rand=3:gx=371:gy=351 gcopy rand,0,0,gx,gy redraw 1 Wait 30 Redraw 0 Boxf pos 0,0 rand=rnd(5)+1 ; 追加 If rand=1:gx=331:gy=330 If rand=2:gx=407:gy=373 If rand=3:gx=371:gy=351 gcopy rand,0,0,gx,gy Redraw 1 Wait 30 Redraw 0 Boxf pos 16,0 rand=rnd(5)+1 ; 追加 If rand=1:gx=331:gy=330 If rand=2:gx=407:gy=373 If rand=3:gx=371:gy=351 gcopy rand,0,0,gx,gy redraw 1 Wait 30 loop



Okura☆

リンク

2015/1/5(Mon) 23:03:50|NO.66891

rand=rnd(5)+1
から
Rand=rnd(3)+1
に変えてくださいψ(`∇´)ψ



_end

リンク

2015/1/6(Tue) 06:45:57|NO.66895


//----初期化 randomize //----画面の初期化 (画像に差し替えてください。) screen 0,300,300 buffer 1,300,300 :color 255,0,0 :boxf ;画像1 buffer 2,300,300 :color 0,255,0 :boxf ;画像2 buffer 3,300,300 :color 0,0,255 :boxf ;画像3 buffer 4,300,300 :color 255,0,255 :boxf ;画像4 buffer 5,300,300 :color 255,255,0 :boxf ;画像5 gsel 0 ;元の画面に戻す //----処理 repeat redraw 0 ;一時低に描画停止 ID=rnd(5)+1 ;画像ID pos 0,0 ;位置 gcopy ID,0,0,300,300 ;画像コピー pos 30,30 :color :font "",24 :mes "画像"+ID ;文字表示 redraw 1 ;描画再開 wait 100 ;一時的に待つ loop

おまけ。前回表示させた画像と同じものを出さないようにするサンプル。



//----初期化 randomize //----画面の初期化 (画像に差し替えてください。) screen 0,300,300 buffer 1,300,300 :color 255,0,0 :boxf ;画像1 buffer 2,300,300 :color 0,255,0 :boxf ;画像2 buffer 3,300,300 :color 0,0,255 :boxf ;画像3 buffer 4,300,300 :color 255,0,255 :boxf ;画像4 buffer 5,300,300 :color 255,255,0 :boxf ;画像5 gsel 0 ;元の画面に戻す //----処理 _ID=0 repeat redraw 0 ;一時低に描画停止 repeat ID=rnd(5)+1 ;画像ID if _ID!=ID{ ;IDが違ったら抜ける 同じであればループする _ID=ID break } loop pos 0,0 ;位置 gcopy ID,0,0,300,300 ;画像コピー pos 30,30 :color :font "",24 :mes "画像"+ID ;文字表示 redraw 1 ;描画再開 wait 100 ;一時的に待つ loop



ONION software Copyright 1997-2023(c) All rights reserved.