HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
0621
xxx文章を横スクロールさせる構文について3解決


xxx

リンク

2020/6/21(Sun) 00:08:26|NO.90825

題名通り、文章を横スクロールさせる構文について質問します。

下記の構文で

x=100
repeat
redraw 0
color 255,255,255:boxf
pos x,100:color 0,0,0
mes "文字スクロールをしています"
redraw 1
x=x-1
wait 1
loop

『x=x-1』という構文があるのですが、この文の意味は「一定の間隔で文章を1ピクセルずつ動かせ」という命令なのでしょうか。
教えていただければ幸いです。



この記事に返信する


沢渡

リンク

2020/6/21(Sun) 10:06:07|NO.90827

「x=x-1」というのは「変数xから1を引いた数値をxに代入する」という意味です。
冒頭でx=100と代入されていますので、そこから「x=x-1」とすると、
xの内容は99になります。
これを「repeat〜loop」で無限に繰り返していますから、99の次は98、
その次は97、96、95……と順々に1ずつ減っていくことになります。

では、このxを使って何をしているのかというと、半ばあたりにある
「pos x,100」です。
これは文字なり画像なりオブジェクトなりを表示する座標
(カレントポジション)を設定する命令で、
たとえばxの内容が100なら(100,100)の位置に何かを表示しろということに
なります。
これを実行した上で次のmes文を実行すると、
(100,100)の位置に「文字スクロールをしています」というテキストが
表示されます。

そして、xの値はループを繰り返すごとに減ってゆきますから、
次は(99,100)の位置に、その次は(98,100)の位置に……ということになります。



あらや

リンク

2020/6/21(Sun) 21:22:37|NO.90829

勝手に補足させていただくと、
通常数学では『x=100』と書くと
イコールの左辺と右辺は同じ大きさという意味になりますが

プログラムではイコールは、
右辺の数値を左辺に入れるという意味になります。

『x←100』と書いた方が意味が理解しやすいかもしれません。



ついでとして
『x=x-1』と同じ意味になる書き方は
x-=1
x--
などもあります。



xxx

リンク

2020/6/21(Sun) 22:21:33|NO.90831

返信が遅れてしまい申し訳ございません。

教えていただきありがとうございます。さらに構文全体の意味まで書いてくださり本当にありがとうございました。
その数字はピクセル数ではなかったのですね。この座標が何ピクセルかは自分で調べようと思います。



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.90825への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2018(c) All rights reserved.