tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル アナログ時計の秒針が真っ直ぐにならない
投稿日: 2008/09/30(Tue) 02:01
投稿者ブロッコリー
アナログ時計を作っているときに気が付いたのですが、なぜか秒針が0秒と30秒の位置にあるときに真っ直ぐにならず斜めになってしまいます。(15秒と45秒の位置にあるときは、真っ直ぐになるのですが。)

下のコードは再現可能なように簡略化したコードです。

タイマーとピクチャーボックスを1つずつ使います。
Private Sub Form_Load()

    Timer1.Interval = 1000
    Picture1.Width = 825 '735 のときは真っ直ぐになる。
    Picture1.Height = Picture1.Width
    Picture1.ScaleTop = -1
    Picture1.ScaleLeft = -1
    Picture1.ScaleWidth = 2
    Picture1.ScaleHeight = 2
    Picture1.BackColor = QBColor(0)
    
End Sub

Private Sub Timer1_Timer()

    Dim a As Double
    
    Picture1.Cls

    a = 2 * 3.141592 * (Second(Now) / 60 - 90 / 360)
    Picture1.Line (0, 0)-(Cos(a), Sin(a)), QBColor(15)

End Sub


Picture1 の Width が 735 のときは真っ直ぐになるのに 825 のときは斜めになってしまいます。
一体、何が原因なのでしょうか? また、どういう条件のときに真っ直ぐになるのでしょうか?
どうかよろしくお願いいたします。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。