Hatena::Groupnadesiko

雪乃☆雫のなでしこ日和

2016-05-13

サイコロキャラメルを振るよ!

| 21:29

 ある意味本題(爆)の、サイコロキャラメルが振れるようになりましたw

 別に、んなに再現性は高くないし、もちろん明治のロゴとか入ってるわけじゃなく、単なる赤白のサイコロってだけなんですけれどねぇ~www

 結局、全部の色設定を配列にして引数にすることにした~。

 サイコロキャラメルは、全部の面の色が同じカラーリングなんだから、こんな必要ないじゃんとか、角丸じゃないから画像合成通の必要ないじゃんとかゆう野暮なツッコミは不可です!

 おもちゃみたいな、全面色違いのサイコロとかも作りたいんだよ~ん。


 そうそう、普通の一般的なサイコロの、1の目が赤いのは、日の丸に見立てたものなんだって!

 日本だけだったんだね・・・

 まめちしきぃ~。

 ちなみに、そうなったのは大正時代のことらしいから、もし時代劇の丁半博打の場で、目の赤いサイコロが使われていたら、早速テレビ局に電話しなきゃ!(爆)

#サイコロキャラメル

#-----母艦設計-----------------------------------------------
!母艦設計=「母艦の可視はオフ母艦のタイトルは「2Dを振る」
母艦のクライアント幅は640。母艦のクライアント高さは480。
母艦を$006600で画面クリア母艦のスタイルは「枠固定」
母艦オフに最大化ボタン有効変更。
母艦中央移動。
#------------------------------------------------------------

#-----宣言---------------------------------------------------
ダイスサイズとは整数=80

サイコロ一般とは配列。 #サイズ{~}線色,地色,点色{~}...
サイコロ一般=「{ダイスサイズ}
{黒色},{白色},{赤色}
{黒色},{白色},{黒色}
{黒色},{白色},{黒色}
{黒色},{白色},{黒色}
{黒色},{白色},{黒色}
{黒色},{白色},{黒色}」

サイコロ赤とは配列。
サイコロ赤=「{ダイスサイズ}
{黒色},{赤色},{白色}
{黒色},{赤色},{白色}
{黒色},{赤色},{白色}
{黒色},{赤色},{白色}
{黒色},{赤色},{白色}
{黒色},{赤色},{白色}」

サイコロ白とは配列。
サイコロ白=「{ダイスサイズ}
{黒色},{白色},{赤色}
{黒色},{白色},{赤色}
{黒色},{白色},{赤色}
{黒色},{白色},{赤色}
{黒色},{白色},{赤色}
{黒色},{白色},{赤色}」

サイコロ虹とは配列。
サイコロ虹=「{ダイスサイズ}
{$330000},{$FFBBBB},{$CC3333}
{$003300},{$BBFFBB},{$33CC33}
{$000033},{$BBBBFF},{$3333CC}
{$330033},{$FFBBFF},{$CC33CC}
{$333300},{$FFFFBB},{$CCCC33}
{$003333},{$BBFFFF},{$33CCCC}」

#---サイコロ用イメージ----
線太さ=1
ダイス用¥1にサイコロ赤でサイコロ準備
ダイス用¥2にサイコロ白でサイコロ準備

処理用とはイメージの可視はオフ。

#---サイコロ振るボタン----
ボタンAとはボタンの可視はオンの幅は110。の高さは35。
のXは母艦のクライアント幅/2-ボタンAの幅/2。のYは母艦の高さ-100。
のテキストは「サイコロを振る」

ボタンAをクリックした時は~
  サイコロ振る。
#------------------------------------------------------------

#-----メインルーチン-----------------------------------------
母艦の可視はオン乱数初期化。

サイコロ振る
#------------------------------------------------------------

#------------------------------------------------------------
*サイコロ振る
  処理用をダイスサイズ,ダイスサイズへ画像高速リサイズ。
  2
    r=6の乱数。出目¥(回数-1)=r+1。
    x=r*ダイスサイズ。y=0。
    ダイス用¥回数のx,y,ダイスサイズ,ダイスサイズを処理用の0,0へ画像部分コピー。
    処理用を母艦の((母艦のクライアント幅/4)*(回数))-(ダイスサイズ/2)+(母艦のクライアント幅/8),(母艦のクライアント高さ/2)-(ダイスサイズ/2)へ画像合成通。
#------------------------------------------------------------
*サイコロ準備({グループ}imgにSで)
  imgをイメージとして作成。
  img→可視はオフ。
  img→幅はS\0*6
  img→高さはS\0
  imgを$00FF00で画面クリア。    #透過色
  目サイズ=S\0/8。
  6
    色設定とは配列。色設定=S\回数。
    線色は色設定¥0。塗り色は色設定¥1。
    外枠(img,S\0)
    線色は色設定¥2。塗り色は色設定¥2。
    もし回数=1ならば
      半径=目サイズ+S\0/40。
      中点(img,S\0)。
    もし回数=2ならば
      半径=目サイズ。
      左上点(img,S\0)。右下点(img,S\0)。
    もし回数=3ならば
      半径=目サイズ。
      中点(img,S\0)。左上点(img,S\0)。右下点(img,S\0)。
    もし回数=4ならば
      半径=目サイズ。
      左上点(img,S\0)。左下点(img,S\0)。右上点(img,S\0)。右下点(img,S\0)。
    もし回数=5ならば
      半径=目サイズ。
      中点(img,S\0)。左上点(img,S\0)。左下点(img,S\0)。右上点(img,S\0)。右下点(img,S\0)。
    もし回数=6ならば
      半径=目サイズ-S\0/80。
      左上点(img,S\0)。左下点(img,S\0)。右上点(img,S\0)。右下点(img,S\0)。左中点(img,S\0)。右中点(img,S\0)。

*外枠({グループ}img,S)
  x=(回数-1)*S。y=0。
  x2=x+S。y2=S。
//  imgのx,yからx2,y2へS/3,S/3で角丸四角。
  imgのx,yからx2,y2へ四角。

*中点({グループ}img,S)
  xx=(x+S/2)-半径。yy=S/2-半径
  xx2=(x+S/2)+半径。yy2=S/2+半径。
  imgのxx,yyからxx2,yy2へ。

*左上点({グループ}img,S)
  xx=(x+S/4)-半径。yy=S/4-半径
  xx2=(x+S/4)+半径。yy2=S/4+半径。
  imgのxx,yyからxx2,yy2へ。

*左下点({グループ}img,S)
  xx=(x+S/4)-半径。yy=(S/4)*3-半径
  xx2=(x+S/4)+半径。yy2=(S/4)*3+半径。
  imgのxx,yyからxx2,yy2へ。

*右上点({グループ}img,S)
  xx=(x+S/4*3)-半径。yy=S/4-半径
  xx2=(x+S/4*3)+半径。yy2=S/4+半径。
  imgのxx,yyからxx2,yy2へ。

*右下点({グループ}img,S)
  xx=(x+S/4*3)-半径。yy=(S/4)*3-半径
  xx2=(x+S/4*3)+半径。yy2=(S/4)*3+半径。
  imgのxx,yyからxx2,yy2へ。

*左中点({グループ}img,S)
  xx=(x+S/4)-半径。yy=S/2-半径
  xx2=(x+S/4)+半径。yy2=S/2+半径。
  imgのxx,yyからxx2,yy2へ。

*右中点({グループ}img,S)
  xx=(x+S/4*3)-半径。yy=S/2-半径
  xx2=(x+S/4*3)+半径。yy2=S/2+半径。
  imgのxx,yyからxx2,yy2へ。
#------------------------------------------------------------
●画像合成通({グループ}コピー元を{数値=$00FF00}透過色で{グループ}コピー先のX,Yへ)
  # マスクの作成(キャラの透過部分が白、表示部分が黒の画像)
  マスク画像をイメージとして作成。マスク画像の可視はオフ。
  マスク画像→画像はコピー元→名前
  マスク画像を透過色で画像マスク作成

  # キャラの透過色部分を黒に変換
  # はじめからキャラの透過色を黒にすると髪や目や文字に黒が使用出来なくなる
  キャラ画像をイメージとして作成。キャラ画像の可視はオフ
  キャラ画像→画像はコピー元→名前
  マスク画像を画像ネガポジ
  マスク画像をキャラ画像の0,0へ画像ANDコピー
  マスク画像を画像ネガポジ

  # 合成実行
  マスク画像をコピー先のX,Yへ画像ANDコピー
  キャラ画像をコピー先のX,Yへ画像ORコピー
 
  VCL_FREE(マスク画像)
  VCL_FREE(キャラ画像)
#------------------------------------------------------------

 なにがでるかな? なにがでるかな? .... .... ....

ゲスト



トラックバック - http://nadesiko.g.hatena.ne.jp/snowdrops89/20160513