■ スクリーンセーバーで画像を右に移動するには?

[Visual Basic 初心者掲示板] [過去ログの一覧]


regedit 2008/02/01(金) 17:41:52
初心者です。はじめまして。
出だしから躓いております。大変このサイトお役に立たせて
いただいております。(管理人様へ)

vb.netの本を見たのですが、環境は、winXPとvb.6です。

スクリーンセーバーを作りたいんですが、画像を右に移動する
ときの構文で右にはみ出したら、戻ってくるものを作るとき

if picture1.right>size.width then

vectorX=vextor-X

end if

とすると、構文エラーが出てしまいます。

どのように直したら良いのでしょうか?
宜しくお願いします。

魔界の仮面弁士 2008/02/01(金) 18:05:32 <常連>
> vb.netの本を見たのですが、環境は、winXPとvb.6です。
VB.NET の本で VB6 の勉強を行うのは、少々無理があるかと思います。
大きめの図書館で、VB6 向けの書籍を探してみては如何でしょう。

> if picture1.right>size.width then
VB6 のコントロールには、Right プロパティがありません。
かわりに、Left プロパティと Width プロパティを使って
右端の座標を算出してみてください。

regedit 2008/02/01(金) 18:11:55
魔界の仮面弁士様へ

早々にご返信有難う御座いました。

今までvb.netとvb6とで、それ程違いがあるとは思いませんでした。

早速ご回答の内容を試してみます。

取り急ぎお礼まで。

regedit 2008/02/02(土) 23:18:52
有難う御座いました。

vb.6では、こう書くことで、動きました。

   If Picture1.Left > Height Then
   
    vectorY = -vectorY
    
   End If

有難う御座いました。
確かにvb.netとかなり違うようです。

通ってみた 2008/02/03(日) 13:24:50
本当にそれで大丈夫ですか?

Left は左の位置ですが、Height は高さの値ですよ
幅は既に魔界の仮面弁士さんが説明されている通り、Width です

それに座標用の変数と思われるvectorX が、最終的にはvectorY になっていますね

もう少しやりたいことと実際書いたコードの意味を見比べてみてください

しんご 2008/02/03(日) 14:36:49 <中級者>
Height = Picture1.Width

だったりして・・・

regedit 2008/02/07(木) 22:51:00
皆さん、レス有難う御座います。
すみません。風邪で体調を崩していました。

> 本当にそれで大丈夫ですか?

> Left は左の位置ですが、Height は高さの値ですよ
> 幅は既に魔界の仮面弁士さんが説明されている通り、Width です

全くその通りだと思います。だけどそれでも動くんですね。


If Picture1.Left > Width Then  が正しいようですね。

ただ、このコードで画面の上下左右の端に動くのか今ひとつ
わかりませんでした。



> それに座標用の変数と思われるvectorX が、最終的にはvectorY になっていますね

すみません。質問では、vectorYとなっておりましたね。
これも単純な誤記です。


> もう少しやりたいことと実際書いたコードの意味を見比べてみてください

アドバイス有難う御座いました。
今後は、わかりやすいように質問を心がけます。m(_ _)m

毎週金曜日はポイント最大3倍!さらに4倍のチャンスも!

Programming Library