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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0603
昨日からHSPを始めた初心者画像の変更をしようとするが元画像が消えない7解決


昨日からHSPを始めた初心者

リンク

2012/6/3(Sun) 16:57:29|NO.47015

画像(557px*145pxが縦に1px間隔で連続している)をボタンが押されるごとに
変更するプログラムを作っています。

実行するとボタンを押すごとに元の画像が残ったままでどんどん画像が増えてしまい
元の画像が消えないというよりかは消し方がわかりません。
boxfで消してみようかと思ったのですがうまく行かずに困っています。
どなたか解決方法を教えていただきたいです。


; 仮想のバッファ画面を用意 buffer 1 ; 仮想のバッファ画面に画像ファイルの読み込みと画像の表示 picload "img\\led.gif" ; LEDの一コマ分のサイズ x=557 y=145 *ledhyouji ; メインのウィンドウを表示 screen 0 , 557, 300 color 255 repeat ; 仮想のバッファ画面から一部の画像データを切り出し pos 0, 0 gcopy 1, 0, y-145, x, y wait 10 ; ボタンの設置 ; 表示位置 pos 200, 150 ; 表示サイズ (指定がない場合の大きさは64x24) objsize 150, 20 ; 設置 button "表示変更", *jump_a loop *jump_a y=y+146 goto *ledhyouji



この記事に返信する


check

リンク

2012/6/3(Sun) 17:05:01|NO.47016

ループの中にbuttonを入れるな。ボタンが無駄に作成されていつかエラーが出るぞ。
ボタン関連の命令をループの外に出せば動くんじゃないか。
ああ、screenより前に入れるとボタンはリセットされて消えるからな。



晩御飯

リンク

2012/6/3(Sun) 17:06:19|NO.47017

どう上手くいかないのか書いてくれないと困るし
貼るなら上手くいかないプログラムのほうがいいと思う

boxfの前にpos 0, 0を入れてないとか



check

リンク

2012/6/3(Sun) 17:10:47|NO.47018

repeatのあとにredraw 0 : color 255, 255, 255 : boxf
loopの前にredraw 1を入れれば氏のやりたいことができるんじゃないか?
氏の発言からはそれしか読み取れないぞ。

>boxfの前にpos 0, 0を入れてないとか
boxfってposは関係ないのでは。氏の言いたいことと的をはずしていたらすまん。



晩御飯

リンク

2012/6/3(Sun) 17:50:01|NO.47019

>>boxfの前にpos 0, 0を入れてないとか
>boxfってposは関係ないのでは。氏の言いたいことと的をはずしていたらすまん。
ボケていたようだ
前のレスはスルーして下さい



昨日からHSPを始めた初心者

リンク

2012/6/3(Sun) 20:49:01|NO.47023

>check様
無限ループの中にボタンを入れてしまうとボタンが無限大に模写されてしまいますね…
どおりでオブジェクト数が多すぎると怒られたわけか…
ありがとうございます。

>
やりたいことに関してですが
http://s1.gazo.cc/up/s1_25277.png
の各停経堂と出ているものを表示変更を押すことにより
成城学園前、向ヶ丘遊園へど切り替えていく様なプログラムを作ろうと思っています。
現在のプログラムだと経堂の下に成城学園前が出てしまっていて切り替えというよりかは
スライドのようになってしまっています。

どの様にしたら元の画像を残さず同じ位置に次の表示が出せるかがわからなく困っています。



晩御飯

リンク

2012/6/3(Sun) 21:08:06|NO.47024

gcopy 1, 0, y-145, x, y
コピーする大きさ(p4とp5)は変化しないはずなのにラベル*jump_aのところで
y=y+146
としているのはまずいのでは? 変化しない値「LEDの一コマ分のサイズ」と変化する値「切り取る画像の座標」は分けないと



昨日からHSPを始めた初心者

リンク

2012/6/3(Sun) 21:22:48|NO.47025

>晩御飯様
ありがとうございました…

昔HTMLをやっていた時の癖なのかか
gcopy の後の座標が切り抜く画像の4点だと勘違いしていました。

正しくは
「gcopy (ウィンドウID),(コピー元のX座標),(Y座標),(コピーする幅),(高さ)」
なのですね

解決しました。
この場を借りて皆様にお礼申し上げます。



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