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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0306
高級直撃破壊今度はスロットを作ろうとしてるんです・・・8解決


高級直撃破壊

リンク

2014/3/6(Thu) 22:50:44|NO.60481

https://www.youtube.com/watch?v=vT2ftPFnc9U
↑動くメモ帳で理想のスロットを書いてみました。
このように、BGを薄くしたりする方法はあるんでしょうか?
再抽選の作り方は何とかわかりました。



この記事に返信する


check

リンク

2014/3/6(Thu) 23:30:10|NO.60482

半透明コピーを使うとか?

buffer 1 font "", 50 mes "テストメッセージ" gsel 0 repeat 256 gmode 3, 0, 0, cnt gcopy 1, 0, 0, 640, 480 wait 10 loop



MillkeyStars

リンク

2014/3/7(Fri) 09:03:38|NO.60483

暇つぶしに、リーチ前までの通常抽選を作ってみたので参考にしてみてね。
単純に作ってあるだけなので、各種最適化及び画像などを用いた描画はしていません。
(当然リーチ・再抽選などの演出もありません。)


font "MSゴシック",128 dim slot,3 //各列の数字 dim slot_tick,3 //各位置の表示スピード dim slot_tick_count,3 //各位置の表示スピードカウント用 dim slot_frame,3 //コマ管理用 dim slot_color,3 //濃薄数値 slot(0) = 0,5,7 slot_tick(0) = 10,10,10 repeat 100 gosub *main loop stop *main slot_frame(0) = 0,0,0 slot_tick(0) = 10,10,10 repeat 601 slot_frame(0)++ slot_frame(1)++ slot_frame(2)++ //始動開始描画を薄くする処理[0] if (slot_frame(0) >= 10)&(slot_frame(0) <= 80) : slot_tick_count(0) += 1 if (slot_frame(1) >= 10)&(slot_frame(1) <= 80) : slot_tick_count(1) += 1 if (slot_frame(2) >= 10)&(slot_frame(2) <= 80) : slot_tick_count(2) += 1 if (slot_frame(0) <= 80)&(slot_tick_count(0) >= slot_tick(0)){ slot_tick_count(0) = 0 : slot_tick(0)-- : slot(0)++ : slot_color(0) += 8 if slot_tick(0) <= 1 : slot_tick(0) = 1 } if (slot_frame(1) <= 80)&(slot_tick_count(1) >= slot_tick(1)){ slot_tick_count(1) = 0 : slot_tick(1)-- : slot(1)++ : slot_color(1) += 8 if slot_tick(1) <= 1 : slot_tick(1) = 1 } if (slot_frame(2) <= 80)&(slot_tick_count(2) >= slot_tick(2)){ slot_tick_count(2) = 0 : slot_tick(2)-- : slot(2)++ : slot_color(2) += 8 if slot_tick(2) <= 1 : slot_tick(2) = 1 } //始動中処理 if (slot_frame(0) >= 81)&(slot_frame(0) <= 240) : slot(0)++ if (slot_frame(1) >= 81)&(slot_frame(1) <= 480) : slot(1)++ if (slot_frame(2) >= 81)&(slot_frame(2) <= 360) : slot(2)++ //図柄停止位置を逆算(停止予定位置より、5コマ加算 777で停止したいなら slot を 222 に設定) //通常では、事前の当たり判定を用いて図柄数の数値を乱数で設定する事。 if (slot_frame(0) == 240) : slot(0) = 2 if (slot_frame(0) == 480) : slot(1) = 2 if (slot_frame(0) == 360) : slot(2) = 2 //液晶停止処理(左図柄用) if (slot_frame(0) >= 240)&(slot_frame(0) <= 360) : slot_tick_count(0) += 1 if (slot_frame(0) >= 240)&(slot_tick_count(0) >= slot_tick(0)){ slot_tick_count(0) = 0 : slot_tick(0) += 1 : slot(0)++ : slot_color(0) -= 16 if slot_tick(0) <= 1 : slot_tick(0) = 1 } //液晶停止処理(右図柄用) if (slot_frame(2) >= 360)&(slot_frame(2) <= 480) : slot_tick_count(2) += 1 if (slot_frame(2) >= 360)&(slot_tick_count(2) >= slot_tick(2)){ slot_tick_count(2) = 0 : slot_tick(2) += 1 : slot(2)++ : slot_color(2) -= 16 if slot_tick(2) <= 1 : slot_tick(2) = 1 } //液晶停止処理(中図柄用) if (slot_frame(1) >= 480)&(slot_frame(1) <= 600) : slot_tick_count(1) += 1 if (slot_frame(1) >= 480)&(slot_tick_count(1) >= slot_tick(1)){ slot_tick_count(1) = 0 : slot_tick(1) += 1 : slot(1)++ : slot_color(1) -= 16 if slot_tick(1) <= 1 : slot_tick(1) = 1 } /** ここからは、描画と対処理 **/ //画像などを用いて行う場合、描画メインのところを書き換えてください。 //数値処理 if (slot(0) >= 10) : slot(0) = 0 if (slot(1) >= 10) : slot(1) = 0 if (slot(2) >= 10) : slot(2) = 0 //描画側 if (slot_color(0) >= 192) : slot_color(0) = 192 if (slot_color(1) >= 192) : slot_color(1) = 192 if (slot_color(2) >= 192) : slot_color(2) = 192 if (slot_color(0) <= 0) : slot_color(0) = 0 if (slot_color(1) <= 0) : slot_color(1) = 0 if (slot_color(2) <= 0) : slot_color(2) = 0 //描画メイン redraw 0 color 255,255,255 : boxf 0,0,300,120 color slot_color(0),slot_color(0),slot_color(0) : pos 0 ,0 : mes ""+slot(0) color slot_color(1),slot_color(1),slot_color(1) : pos 100,0 : mes ""+slot(1) color slot_color(2),slot_color(2),slot_color(2) : pos 200,0 : mes ""+slot(2) redraw 1 await 16 loop await 2000 return



高級直撃破壊

リンク

2014/3/7(Fri) 19:19:26|NO.60495

↑↑ありがとうございます!!
画像は作ってあるんですが、半透明コピーは、画像でもできるんでしょうか?
良ければ、教えてください!
一応、画像が使えない場合も思いつきました



MillkeyStars

リンク

2014/3/7(Fri) 20:34:30|NO.60499

できます。
基本的に、color の設定で、0-255 までの濃薄で設定しています。
それを半透明のブレンド率に置き換えればいいのです。

私が提示したスクリプト上では、255に近いほど薄くなるように設定されていますが、gmode 上のブレンド率は、0に近いほうになるほど薄くなります。
その為、画像に対して薄くする処理は、数値を反転させればいいのです。


//画像半透明コピー用サンプル //ここで画像データを作成する。 buffer 4,2000,480,0 : color 255,0,255 : boxf font "メイリオ",256 color 0,0,0 repeat 10 pos cnt*200,0 : mes ""+cnt loop gsel 0 dim slot,3 //各列の数字 dim slot_tick,3 //各位置の表示スピード dim slot_tick_count,3 //各位置の表示スピードカウント用 dim slot_frame,3 //コマ管理用 dim slot_color,3 //濃薄数値 slot(0) = 0,5,7 slot_tick(0) = 10,10,10 slot_color(0) = 256,256,256 //画像用の場合のみ初期化データ randomize repeat 100 gosub *main loop stop *main slot_frame(0) = 0,0,0 slot_tick(0) = 10,10,10 slot_color(0) = 256,256,256 //画像用の場合のみ初期化データ repeat 601 slot_frame(0)++ slot_frame(1)++ slot_frame(2)++ //始動開始描画を薄くする処理[0] if (slot_frame(0) >= 10)&(slot_frame(0) <= 80) : slot_tick_count(0) += 1 if (slot_frame(1) >= 10)&(slot_frame(1) <= 80) : slot_tick_count(1) += 1 if (slot_frame(2) >= 10)&(slot_frame(2) <= 80) : slot_tick_count(2) += 1 if (slot_frame(0) <= 80)&(slot_tick_count(0) >= slot_tick(0)){ slot_tick_count(0) = 0 : slot_tick(0)-- : slot(0)++ : slot_color(0) -= 8 // slot_tick_count(0) = 0 : slot_tick(0)-- : slot(0)++ : slot_color(0) += 8 if slot_tick(0) <= 1 : slot_tick(0) = 1 } if (slot_frame(1) <= 80)&(slot_tick_count(1) >= slot_tick(1)){ slot_tick_count(1) = 0 : slot_tick(1)-- : slot(1)++ : slot_color(1) -= 8 // slot_tick_count(1) = 0 : slot_tick(1)-- : slot(1)++ : slot_color(1) += 8 if slot_tick(1) <= 1 : slot_tick(1) = 1 } if (slot_frame(2) <= 80)&(slot_tick_count(2) >= slot_tick(2)){ slot_tick_count(2) = 0 : slot_tick(2)-- : slot(2)++ : slot_color(2) -= 8 // slot_tick_count(2) = 0 : slot_tick(2)-- : slot(2)++ : slot_color(2) += 8 if slot_tick(2) <= 1 : slot_tick(2) = 1 } //始動中処理 if (slot_frame(0) >= 81)&(slot_frame(0) <= 240) : slot(0)++ if (slot_frame(1) >= 81)&(slot_frame(1) <= 480) : slot(1)++ if (slot_frame(2) >= 81)&(slot_frame(2) <= 360) : slot(2)++ //図柄停止位置を逆算(停止予定位置より、5コマ加算 777で停止したいなら slot を 222 に設定) //通常では、事前の当たり判定を用いて図柄数の数値を乱数で設定する事。 if (slot_frame(0) == 240) : slot(0) = rnd(10) if (slot_frame(0) == 480) : slot(1) = rnd(10) if (slot_frame(0) == 360) : slot(2) = rnd(10) //液晶停止処理(左図柄用) if (slot_frame(0) >= 240)&(slot_frame(0) <= 360) : slot_tick_count(0) += 1 if (slot_frame(0) >= 240)&(slot_tick_count(0) >= slot_tick(0)){ slot_tick_count(0) = 0 : slot_tick(0) += 1 : slot(0)++ : slot_color(0) += 16 // slot_tick_count(0) = 0 : slot_tick(0) += 1 : slot(0)++ : slot_color(0) -= 16 if slot_tick(0) <= 1 : slot_tick(0) = 1 } //液晶停止処理(右図柄用) if (slot_frame(2) >= 360)&(slot_frame(2) <= 480) : slot_tick_count(2) += 1 if (slot_frame(2) >= 360)&(slot_tick_count(2) >= slot_tick(2)){ slot_tick_count(2) = 0 : slot_tick(2) += 1 : slot(2)++ : slot_color(2) += 16 // slot_tick_count(2) = 0 : slot_tick(2) += 1 : slot(2)++ : slot_color(2) -= 16 if slot_tick(2) <= 1 : slot_tick(2) = 1 } //液晶停止処理(中図柄用) if (slot_frame(1) >= 480)&(slot_frame(1) <= 600) : slot_tick_count(1) += 1 if (slot_frame(1) >= 480)&(slot_tick_count(1) >= slot_tick(1)){ slot_tick_count(1) = 0 : slot_tick(1) += 1 : slot(1)++ : slot_color(1) += 16 // slot_tick_count(1) = 0 : slot_tick(1) += 1 : slot(1)++ : slot_color(1) -= 16 if slot_tick(1) <= 1 : slot_tick(1) = 1 } /** ここからは、描画と対処理 **/ //画像などを用いて行う場合、描画メインのところを書き換えてください。 //数値処理 if (slot(0) >= 10) : slot(0) = 0 if (slot(1) >= 10) : slot(1) = 0 if (slot(2) >= 10) : slot(2) = 0 //描画側 if (slot_color(0) >= 255) : slot_color(0) = 255 if (slot_color(1) >= 255) : slot_color(1) = 255 if (slot_color(2) >= 255) : slot_color(2) = 255 if (slot_color(0) <= 63) : slot_color(0) = 63 if (slot_color(1) <= 63) : slot_color(1) = 63 if (slot_color(2) <= 63) : slot_color(2) = 63 // if (slot_color(0) >= 192) : slot_color(0) = 192 // if (slot_color(1) >= 192) : slot_color(1) = 192 // if (slot_color(2) >= 192) : slot_color(2) = 192 // if (slot_color(0) <= 0) : slot_color(0) = 0 // if (slot_color(1) <= 0) : slot_color(1) = 0 // if (slot_color(2) <= 0) : slot_color(2) = 0 //描画メイン redraw 0 color 255,255,255 : boxf 0,0,640,280 gmode 3,0,0,slot_color(0) : pos 0 ,0 : gcopy 4,slot(0)*200,0,200,230 gmode 3,0,0,slot_color(1) : pos 240,0 : gcopy 4,slot(1)*200,0,200,230 gmode 3,0,0,slot_color(2) : pos 480,0 : gcopy 4,slot(2)*200,0,200,230 // color slot_color(0),slot_color(0),slot_color(0) : pos 0 ,0 : mes ""+slot(0) // color slot_color(1),slot_color(1),slot_color(1) : pos 240,0 : mes ""+slot(1) // color slot_color(2),slot_color(2),slot_color(2) : pos 480,0 : mes ""+slot(2) redraw 1 await 16 loop await 2000 return
このサンプルでは、数字表示用の場合の時の命令を変更した際に変更箇所がわかるように数字表示スクリプトの命令行(一部)をコメントアウトしています。



高級直撃破壊

リンク

2014/3/7(Fri) 20:44:56|NO.60500

↑すごい丁寧に教えていただき、ありがとうございます!とてもよくわかりました。

一瞬、応答なしのときに画面クリックしたアレだと思ったww



高級直撃破壊

リンク

2014/3/13(Thu) 14:53:34|NO.60615

う〜ん、いまいち配列変数が理解できません・・・。
配列変数で何ができて、どのように使えばいいか、詳しく教えてください・・・。



MillkeyStars

リンク

2014/3/13(Thu) 17:46:40|NO.60618

配列変数って、「配列変数とはなに?」の話?
それとも、うちが提示したスクリプト内部の配列の話?

それがわからないと、答えのしようがない。
あと、すでに解決済みの場合は、なるべく新しいスレッドを立てて再度質問しましょう。
というあのお方の注意が来ますので、なるべく解決したスレッドでの追加質問は控えてね。



高級直撃破壊

リンク

2014/3/16(Sun) 13:00:02|NO.60707

了解です、新しいスレを立てます。



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