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


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
0720
いかそばa2d alEraserBrushでalDrawLineしても消せない2解決


いかそば

リンク

2020/7/20(Mon) 20:39:05|NO.91050

alEraserBrushでalDrawLineしても消せないのですがどうすれば消せるんですか?
alEraserBrushを解除する方法はあるのですか?
すごく混乱してます。検索しても解決しないしどうしたら…


#include "a2d.hsp" chkbox "消しゴム",chk_eraser alcreateimage 0 alPenWidth 5 alPenStyle 0 repeat redraw 0 getkey ml,1 if ml=1:{ if chk_eraser=1:{ alEraserBrush alDrawLine mousex,mousey,mx,my }else:if chk_eraser=0:{alDrawLine mousex,mousey,mx,my} mx=mousex my=mousey } alcopyimagetoscreen 0,0 redraw 1 await loop



この記事に返信する


あらや

リンク

2020/7/20(Mon) 21:54:15|NO.91051

Artlet2Dの仮想イメージは透明なフィルム、
HSPウィンドウを白い紙としてイメージしてください。

一度透明なフィルムに適当な絵を描いて
コピー機で紙にコピーします。

その後で何らかの方法(消しゴム)でフィルムに書いた絵を消して
同じ紙に再度コピーしてみても、先にコピーした物は消えません。

いかそばさんのソースはこんな感じの流れになっています。

なので、一旦HSPウィンドウの中身を白で塗り潰してから
仮想イメージをコピーしてみましょう。

#include "a2d.hsp" chkbox "消しゴム",chk_eraser alcreateimage 0 alPenWidth 5 alPenStyle 0 repeat redraw 0 getkey ml,1 if ml=1:{ if chk_eraser=1:{ alEraserBrush // これは『alColor 0, 0, 0, 0』と書くのと同じ alDrawLine mousex,mousey,mx,my }else:if chk_eraser=0:{ // チェックを外したらアルファ値だけ255にする alColor 0, 0, 0, 255 alDrawLine mousex,mousey,mx,my } mx=mousex my=mousey } color 255, 255, 255: boxf; // HSPのウィンドウを元の色で塗り潰してから alcopyimagetoscreen 0,0 // 仮想イメージの内容をコピー redraw 1 await loop
コメントを入れた箇所が追加した行や関連する説明です。



いかそば

リンク

2020/7/21(Tue) 10:11:44|NO.91052

あらやさんありがとうございます!
そうすればいいんですね!本当にありがとうございます!\(`;ω;´)/



記事削除

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

NO.91050への返信

マスコット

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

名前

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

削除用パスワード

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

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

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