掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ゲームでラベルを停止させるには?? (ID:141126)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
アクアと申します。どうぞ宜しくお願い致します。 当方の環境を申し上げます。 OSはWindows Vista Ultimate SP1 VisualBasic2008 Professional Editionです。 ご質問なさる際は開発環境の記載を心掛けてください。 ただし今回ご提示いただいたコードを推察するとVisualBasic.NET(2002)以上であれば大丈夫でしょう。 今回の質問は フォームのどちらかの端にLabelが当たると止まるようにしたい。 という事ですよね。 Timer_Tick()のプロシージャに記載されている内容は一定の時間の経過に従いイベントを実行し、イベントが発生する毎にLabelコントロールの座標を変化させています。 ご提示いただいたコードでの記述箇所は3行目から14行目までのコードです。 とおりすがりさんのアドバイスで > Timer1_Tick()で、 とありますが、このプロシージャの中のコードに注目すると既にLabelの位置を変化させる判定があるのが確認できます。 そして今回の質問を解決するには当にこのプロシージャ内に命令文に手を加える事が必要となります。 理解を深めるために、このプロシージャを日本語に分解します。 If(もし) Label1のx座標+Label1の幅 >= このフォームの幅-8 Then(ならば) 変数(Vec)に -4を代入する ElseIf(上の条件に該当しない場合で、もし) Label1のx座標が <=0 Then(ならば) 変数(Vec)に 4を代入する End If Label1の位置 = (x座標を現在のx座標+変数(Vec),現在のy座標のまま)の座標軸に代入する となります。 更にデフォルメして表現すると(本当の意味で正しい表現ではありません。) If(もし) Label1がこのフォームの右端 Then(ならば) 左に進む ElseIf(上の条件でなくて、もし) Label1がこのフォーム左端 Then(ならば) 右に進む End If となります。 質問はフォームのどちらかの端にLabelが当たると止まるようにしたい訳ですから、進まずにこのプロシージャの処理から抜ければいいのです。 ‾‾‾‾ プロシージャから抜ける処理は Exit Sub もしくは Return と記述します。 現実の業務でプログラムを作る場合にこんなコードを書いたら、上司から確実に叱られますが、宿題レベルなら十分でしょう。^^;;;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.