timer(loading) への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 ぼく  (社会人) 投稿日時 2010/1/24 01:39:32
V6はファミコン....
。。。
...なるほど。
投稿者 lisa  (中学生) 投稿日時 2010/1/24 01:13:06
色々皆さんに聞いて、やっているうちに、タイマーが動くようになりました。
ありがとうございます。
投稿者 るしぇ  (社会人) 投稿日時 2010/1/23 13:18:10
このサイトのTOPページから下にスクロールしていってください。
「授業」という項目の右がVisual Basic 2008、左がVisual Basic 6.0

[Wiki]で見れば、
http://ja.wikipedia.org/wiki/Microsoft_Visual_Basic
Visual Basic 6.0 って 1998年のものだからねぇ。。。
ファミコンとプレステぐらいの違いはあるんじゃない?

同じ言語なんだから、基本的な文法は同じです。
でもまぁ、そのままプログラムをコピペしてもエラーは
たくさん出るね。
東京弁と大阪弁くらいの違い?
投稿者 lisa  (中学生) 投稿日時 2010/1/23 11:45:37
みなさん、いろいろと助けていただいてありがとうございます。
日本の専門学校だと新しいものをどんどんとりいれるのかもしれないのですが、
アメリカの公立のhIGH SCHOOLだからなのか、先生がそれしか教えられないのか、理由はわかりませんが、
VISUAL BASIC 6.0をつかっています。6.0と、2008は、ぜんぜん違うものなのでしょうか?全くしろうとなので、そんなことも、よくわかりません。日系の本屋さんで2008の参考書を買いましたが、これは、6.0には、使えないのでしょうか?
投稿者 通りすがりの黄金糖  (社会人) 投稿日時 2010/1/23 06:56:32
VB6で、タイマーコントロールを使うなら、

1.タイマーコントロールをフォームに貼る。
2.Intervalプロパティに、イベントを発生させる時間をミリ秒単位で指定する。
3.EnabledプロパティをTrueに設定。
4.貼りつけたタイマーコントロールをダブルクリックして、Timerイベントプロシージャを表示し、処理を記入。

こんな感じでスプラッシュウィンドウ的なことならできますね。
投稿者 ぼく  (社会人) 投稿日時 2010/1/23 06:26:52
ぼく。はネットで得た情報は、まったく信用しない。
10件ほど本屋を回ったが、V6の本は1冊も売っていないです。
それどころかVB2005の本すら店頭から消えてます。
それがリアル。現実であると思います。
VB2008のコードでよければ多少、提供できます。
文字制限があるんで、この程度で良ければ。
Option Strict On
Public Class Form1
    'Gameコード途中制作 
    'PictureBox1をフォームに入れる 
    'Timer1とTimer2をフォームに入れる 
    'コードをすべて消してから、書き込む。 

    Dim font_1 As New Font("ms ui gothic", 30, FontStyle.Bold)
    Dim font_2 As New Font("ms ui gothic", 50, FontStyle.Italic)
    Dim my_gradient As New Drawing2D.LinearGradientBrush(New Point(0, 0), New Point(300, 350), Color.Blue, Color.Red)
    Dim score% = 0
    Dim score_ichi%
    Dim life_point% = 0

    Public Sub New()

        ' この呼び出しは、Windows フォーム デザイナで必要です。 
        InitializeComponent()

        ' InitializeComponent() 呼び出しの後で初期化を追加します。 
        Me.Size = New Size(700, 700)
        Me.StartPosition = FormStartPosition.CenterScreen
        Me.BackColor = Color.Blue
        Me.FormBorderStyle = Windows.Forms.FormBorderStyle.Fixed3D
        Me.MaximizeBox = False : Me.MinimizeBox = False
        Me.Text = "ダイアモンド"
    End Sub

    Private Sub Form1_Load(ByVal sender As ObjectByVal e As System.EventArgs) Handles Me.Load
        With PictureBox1
            .Size = New Size(665, 645)
            .Location = New Point(10, 10)
            .BackColor = Color.Black
        End With
        Timer1.Interval = 100
        Timer1.Start()
        Timer2.Interval = 200
        Timer2.Start()
    End Sub

    Private Sub PictureBox1_Paint(ByVal sender As ObjectByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
        Dim g As Graphics = e.Graphics
        g.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
        g.TextRenderingHint = Drawing.Text.TextRenderingHint.AntiAlias
        g.FillRectangle(Brushes.Green, 460, 0, 205, 645)
        g.DrawLine(Pens.Yellow, 0, 500, 459, 500)
        g.FillEllipse(my_gradient, 550, 190 + life_point, 40, 400 - life_point)
        moji("Score", font_1, Brushes.Aqua, 500, 30, g)
        moji(CStr(score), font_1, Brushes.Yellow, score_ichi, 70, g)
        moji("★", font_1, Brushes.Pink, 542, 160 + life_point, g)
        If life_point > 399 Then
            moji("Game Over", font_2, Brushes.Red, 50, 250, g)
        End If
    End Sub

    Sub moji(ByVal a As StringByVal b As Font, ByVal c As Brush, ByVal x As IntegerByVal y As IntegerByVal g As Graphics)
        g.DrawString(a, b, Brushes.White, x + 1, y + 1)
        g.DrawString(a, b, c, x, y)
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles Timer1.Tick
        score += 1
        score_ichi = 570 - ((CStr(score).Length - 1) * 20)
        PictureBox1.Invalidate()
    End Sub

    Private Sub Timer2_Tick(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles Timer2.Tick
        life_point += 1
        If life_point > 400 Then
            Timer1.Stop() : Timer2.Stop()
        End If
    End Sub
End Class
投稿者 ヴァン  (社会人) 投稿日時 2010/1/23 05:39:58
>タイマーが、ずっとゼロのままなのは、何かが足りないということなのでしょうか? 

うん、何かが足りない。
何でしょうと聞かれても、他の人には答えられない。
投稿者 ぼく  (社会人) 投稿日時 2010/1/23 04:29:49
ちなみに、専門学校では、常に最新を勉強するみたいにゃ~。
ITは常に進化してますから、古いものはドンドン無くなるにゃ~。
投稿者 boku  (社会人) 投稿日時 2010/1/23 04:27:14
V6は終了してますし。
VB2008とか使えんの?(笑)
新しいパソを買う。推奨。
投稿者 lisa  (中学生) 投稿日時 2010/1/22 19:35:08
タイマーが、ずっとゼロのままなのは、何かが足りないということなのでしょうか?
投稿者 lisa  (中学生) 投稿日時 2010/1/22 18:50:48
ヴァンさん、ありがとうございます!明日、学校のマイドキュメントにセーブしている自分で作っているものをもって帰ってみます。(なぜか、このクラスの教科書とか、何も教室の外に持ち出してはいけないのですが)また、よろしくお願いします!
投稿者 ヴァン  (社会人) 投稿日時 2010/1/22 05:02:45
スプラッシュウィンドウのことかな?

1.メインフォームを非表示状態で作成する。

2.メインフォームのコンストラクタでスプラッシュウィンドウを表示。

3.色々と準備処理

4.準備処理が終わったらスプラッシュウィンドウを非表示にして、メインフォームを表示する。

大体こんな感じかな。
投稿者 るしぇ  (社会人) 投稿日時 2010/1/22 03:13:14
自分でできる事をやらないと、後々問題ばかり起こる事になりますよ。

例えば、プログラムができたとして、先生に提出したとします。
そこで先生が課題内容についての質問をしてくる場合があります。
その時、自分で作ったなら、どう考えてプログラムを作ったか
答えられるはずですよね。ここで答えられないと自分で作って
ないと判断され再提出になります。

>全くの初心者で課題がうまくいかず、困っていて投稿させていただきました。
まず、担任の先生に相談していないのであれば、全く解決しないでしょう。

初心者でも受けられる授業であるなら、授業中にヒントは出されているはず
です。出されていないなら先生の落ち度ですから、きちんと指導してもらう
必要がありますし、貴方が授業を聞いていなかったなら、聞きなおす必要が
あります。

どちらにしろ、現在の貴方の状態を先生に理解してもらう必要があります。
その上で80%自分で理解できて、もう少しというなら掲示板で質問するのも
意味があるでしょうが、課題が丸々分からないという状態で掲示板を利用
するのは間違っています。
投稿者 lisa  (中学生) 投稿日時 2010/1/22 03:04:05
はい、「読み込み中」の画面です。
投稿者 lisa  (中学生) 投稿日時 2010/1/21 21:50:26
さきほど、書き忘れましたが、Visual Basic6.0を使っています。
投稿者 lisa  (中学生) 投稿日時 2010/1/21 20:46:54
いろいろ、ご返答ありがとうございます。
アメリカの高校で、コンピュータープログラミングの授業をとっているのですが、全くの初心者で課題がうまくいかず、困っていて投稿させていただきました。
ドラッグドロップと、数字をランダムに使うというのと、Timerそして、フォームの中に、フォームのインフォメーションをトランスファーするというようなことを、入れ込んだ簡単なゲームを作ってこないといけないということなのですが、どうしたらいいかわかりません。
つい、その部分だけ質問してしまいすみませんでした。よろしくお願いします。
投稿者 在浩  (社会人) 投稿日時 2010/1/21 09:30:58
Timer関数を使用してロード画面を作ることは出来ますが、あえてそうする必要がありますか?

コンポーネントのProgress Barコントロールを使用する方が、より良く見えるのか。

あえてすると仮定すると、次のような例が挙げ申し上げております。
'interval =ご希望の時間1 / 1000 sec。
Private sub Timer1()
  form1.show
  timer1.enabled = False
End sub

これを希望するかどうかよく分からないです。?.
投稿者 (削除されました)  () 投稿日時 2010/1/21 08:49:44
(削除されました)
投稿者 ヴァン  (社会人) 投稿日時 2010/1/21 03:54:22
Loadingで連想する物...

Flashオブジェクトかな?
なんかの動画かな?
投稿者 るしぇ  (社会人) 投稿日時 2010/1/21 03:18:25
若い子の日本語って分からないなぁ。。。
Loading のスクリーンって何だろう。。。
最近、流行ってるもの?。。。

Loading って文字だけから連想されるのは、何かの読み込み中の
時の表示だけど。。。スクリーン。。。画面?
Loading 画面?
Timer 要らないんじゃないの?
コードも要らないんじゃないの?
フォームに"Loading"って書いて表示しておけば?
投稿者 んが?  (小学生) 投稿日時 2010/1/21 01:52:36
> 投稿者 lisa   (中学生)   投稿日時 2010/01/20 15:14:40  
> どうやってTimerを使ってLoadingのスクリーンをコードしたら良いですか?  

?????
投稿者 lisa  (中学生) 投稿日時 2010/1/21 00:14:40
どうやってTimerを使ってLoadingのスクリーンをコードしたら良いですか?