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


regedit  2008-02-02 02:41:52  No: 138789

初心者です。はじめまして。
出だしから躓いております。大変このサイトお役に立たせて
いただいております。(管理人様へ)

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

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

if picture1.right>size.width then

vectorX=vextor-X

end if

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

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


魔界の仮面弁士  2008-02-02 03:05:32  No: 138790

> vb.netの本を見たのですが、環境は、winXPとvb.6です。
VB.NET の本で VB6 の勉強を行うのは、少々無理があるかと思います。
大きめの図書館で、VB6 向けの書籍を探してみては如何でしょう。

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


regedit  2008-02-02 03:11:55  No: 138791

魔界の仮面弁士様へ

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

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

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

取り急ぎお礼まで。


regedit  2008-02-03 08:18:52  No: 138792

有難う御座いました。

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

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

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


通ってみた  2008-02-03 22:24:50  No: 138793

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

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

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

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


しんご  2008-02-03 23:36:49  No: 138794

Height = Picture1.Width

だったりして・・・


regedit  2008-02-08 07:51:00  No: 138795

皆さん、レス有難う御座います。
すみません。風邪で体調を崩していました。

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

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

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

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

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


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

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


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

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


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加