/ 親階層)  ただのアナログな時計

□投稿者/ 使ってます さん ( ) 【124.45.25.21】(2016/10/20(Thu) 00:54:30)

   
     #【ソフト名】 ただのアナログ時計
     #【 作 者 】 使ってます
     #【 転載 】 全て許可
     #【なでしこのバージョン】 ver.1.562
     #【  実行 の 注意点  】 母艦パスに「images.png」「Setting.ini」を作成
     #【  紹介   】以下、仕様です。
     #(1)ダブルクリックで、終了します。
     #(2)文字盤を自分で用意すれば、それを使用することができます
     #(なければ自動で作成した文字盤が使用される)
     #その際、文字盤のファイル名を「images.png」に変更、
     #さらに、文字盤枠外の色を、「文字盤の枠内で使用してない色」に塗る。
     #最後に、それを母艦パスに置いてください。
     #(3)自動で作成される文字盤について
     #画像ファイルを取り込むと、それを文字盤の「背景」に使用できます。
     #(取り込みをキャンセルすると、白い背景になります)
     #それによっては、時計のメモリや、針が見づらくなる場合は、
     #下記にあるように適当に見やすい色や太さに変更してください。
     #(4)外観の変更
     #ハッシュ変数の「外観」を参考にして、
     #母艦パスの「Setting.ini」を直接編集して下さい
     #---------------------------------------------------


    !母艦設計=「母艦の可視はオフ」

    //時計盤の外観
    外観とはハッシュ
    外観@「半径」=200//時計のサイズ(時計盤の半径)
    外観@「長針色」=青色//長針の色
    外観@「短針色」=青色//短針の色
    外観@「秒針色」=赤色//秒針の色
    外観@「目盛色」=黒色//時計盤の目盛の色
    外観@「目盛表示」=オン//目盛を表示するかどうか。オフで表示しない

    //設定保存用
    設定パスとは文字列=母艦パス&「Setting.ini」
    もし(設定パスの存在=はい)ならば、設定読込処理

    外観@「直径」=2*外観@「半径」


    母艦のクライアント高さ=(外観@「直径」)
    母艦のクライアント幅=(外観@「直径」)
    母艦のダブルクリックした時は〜終わる
    母艦の閉じた時は〜設定保存処理



    //イメージが用意してあれば、それを使用。なければ作成
    画像パスとは文字列=母艦パス&「images.png」
    もし(画像パスの存在=いいえ)ならば、
      「背景を作成します」と言う
      外観@「直径」で背景作成処理

    //文字盤の背景
    時計盤とはイメージ
    その可視=オフ
    その画像=画像パス
    時計盤を(外観@「直径」),(外観@「直径」)で画像リサイズ
    もし(外観@「目盛表示」=オン)ならば、
      時計盤に外観@「半径」で文字盤描画処理


    //時計の現在時刻用
    現秒とは整数=-1
    現分とは整数=-1
    現時とは整数=-1

    //時計を動かす
    時計とはタイマー
    その間隔=0.1
    その時満ちた時は〜
      今を「:」で区切る。
      時はそれ[0]
      分はそれ[1]
      秒はそれ[2]
      
      秒を整数変換
      もし(現秒≠それ)ならば、
        現秒=秒を整数変換
        現分=分を整数変換
        現時=時を整数変換
        
        母艦を画面クリア
        時計盤を母艦の0,0へ画像コピー
        母艦→画像通り変形
        
        時間描写処理(現時,現分,外観@「半径」)
        分描写処理(現分,現秒,外観@「半径」)
        秒描写処理(現秒,外観@「半径」)
        


    時計の開始

    母艦の可視はオン



    //秒針の移動と表示
    ●秒描写処理({整数}秒,{整数}半径)
      (6*秒+270)をラジアン変換
      シータ=それ
      
      線長=9/10
      線色=外観@「秒針色」
      線太さ=3
      XR=線長*半径*COS(シータ)の整数部分
      YR=線長*半径*SIN(シータ)の整数部分
      0+半径,0+半径からXR+半径,YR+半径へ線

    //長針の移動と表示
    ●分描写処理({整数}分,{整数}秒,{整数}半径)
      分=分*60+秒//単位=秒
      角速度=360/3600
      (角速度*分+270)をラジアン変換
      シータ=それ
      
      線長=9/10
      線色=外観@「長針色」
      線太さ=5
      XR=線長*半径*COS(シータ)の整数部分
      YR=線長*半径*SIN(シータ)の整数部分
      0+半径,0+半径からXR+半径,YR+半径へ線

    //短針の移動と表示
    ●時間描写処理({整数}時,{整数}分,{整数}半径)
      時=時を12で割った余り
      時=時*60+分//単位=分
      
      角速度=360/720
      (角速度*時+270)をラジアン変換
      シータ=それ
      
      線長=2/3
      線色=外観@「短針色」
      線太さ=8
      XR=線長*半径*COS(シータ)の整数部分
      YR=線長*半径*SIN(シータ)の整数部分
      0+半径,0+半径からXR+半径,YR+半径へ線

    //文字盤の目盛を表示
    ●文字盤描画処理({グループ}OBJに,{整数}半径で)
      角度を1から60まで繰り返し
        シータ=6*角度をラジアン変換
        XR=9/10*半径*COS(シータ)の整数部分
        YR=9/10*半径*SIN(シータ)の整数部分
        
        XXR=7/8*半径*COS(シータ)の整数部分
        YYR=7/8*半径*SIN(シータ)の整数部分
        
        線色=外観@「目盛色」
        線太さ=5
        もし(角度%5>0)ならば、線太さ=2
        OBJのXXR+半径,YYR+半径からXR+半径,YR+半径へ線

    //任意の画像ファイルを背景に
    ●背景作成処理({整数}直径で)
      マスク背景をイメージとして作成
      マスク背景→可視=オフ
      マスク背景→サイズ=「0,0,{直径},{直径}」
      マスク背景を緑色で画面クリア
      塗り色=黄色
      マスク背景の0,0から直径,直径へ円
      
      汎用背景をイメージとして作成
      汎用背景→可視=オフ
      汎用背景→画像=「マスク背景」
      汎用背景を黄色で画像マスク作成
      
      合成背景をイメージとして作成
      合成背景→可視=オフ
      合成背景→タグ=「*.jpeg;*.jpg;*.png」のファイル選択
      もし(それの存在)ならば、
        合成背景→画像=合成背景→タグ
      違えば、
        合成背景を白色で画面クリア
      合成背景→X=0
      合成背景→Y=0
      合成背景を直径,直径へ画像リサイズ
      
      汎用背景を合成背景の0,0へ画像ANDコピー
      
      
      汎用背景→画像=「マスク背景」
      汎用背景を緑色で画像マスク作成
      
      色背景をイメージとして作成
      色背景→可視=オフ
      色背景→サイズ=「0,0,{直径},{直径}」
      色背景を水色で画面クリア
      
      汎用背景を色背景の0,0へ画像ANDコピー
      
      
      合成背景を色背景の0,0へ画像ORコピー
      
      
      色背景を画像パスへ画像保存
      
      マスク背景→壊す
      汎用背景→壊す
      合成背景→壊す
      色背景→壊す
      

    //設定読込保存用-------------------
    ●設定読込処理
      設定パスのINI開いてHに代入
        外観@「半径」=Hで「外観」の「半径」をINI読む
        外観@「長針色」=Hで「外観」の「長針色」をINI読む
        外観@「短針色」=Hで「外観」の「短針色」をINI読む
        外観@「秒針色」=Hで「外観」の「秒針色」をINI読む
        外観@「目盛色」=Hで「外観」の「目盛色」をINI読む
        外観@「目盛表示」=Hで「外観」の「目盛表示」をINI読む
      HのINI閉じる

    ●設定保存処理
      設定パスのINI開いてHに代入
        Hで「外観」の「半径」に外観@「半径」をINI書く
        Hで「外観」の「長針色」に外観@「長針色」をINI書く
        Hで「外観」の「短針色」に外観@「短針色」をINI書く
        Hで「外観」の「秒針色」に外観@「秒針色」をINI書く
        Hで「外観」の「目盛色」に外観@「目盛色」をINI書く
        Hで「外観」の「目盛表示」に外観@「目盛表示」をINI書く
      HのINI閉じる





    ※(2016/11/06(Sun) 10:39:29 編集[投稿者])
削除キー/

コメントを記入

 
関連内容&回答

Nomal ただのアナログな時計 / 使ってます (16/10/20(Thu) 00:54) [#1348] 【 表 示 内 容 】


Name/
E-Mail/
Title/
URL/
Icon/ (画像を選択/サンプル一覧)
削除キー/ (半角8文字以内)
確認キー/ (”日本語でナデシコ”と記入)
 

Pass/

BBS CGI RSS CGI
Child Tree RSS/SPAM対応版