|
|
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
|
|
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
|
|
2015/1/5(Mon) 23:03:50|NO.66891
rand=rnd(5)+1
から
Rand=rnd(3)+1
に変えてくださいψ(`∇´)ψ
|
|
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

| |
|