至急です!p5jsでクリックするとimg2の画像が消えるような動作を行いたいのですが、どのように書いたらいいのかわかりません。 回答よろしくお願いします。(下記一部端折ってます。)
let fish = [];
let N = 10;
let img;
let img2;
function preload() {
img = loadImage("")
img2 = loadImage("")
}
function setup() {
createCanvas(500, 500);
for (let i = 0; i < N; i++) {
fish[i] = new Fish(random(width), random(height))
}
// バブルを生成
for (let i = 0; i < NUM_OF_BUBBLES; i++) {
bubbles.push(new Bubble());
}
}
function draw() {
background(0);
image(img, 0, 0, 500, 500);
image(img2, 320, 100, 50, 50);
image(img2, 250, 400, 50, 50);
image(img2, 400, 300, 50, 50);
image(img2, 100, 200, 50, 50);
image(img2, 50, 450, 50, 50);
image(img2, 50, 50, 50, 50);
fish.forEach(f => {
f.update()
f.display()
})
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
No1です。
No1にも書きましたように、P5jsに関しては何も知りません。利用なさっている質問者様の方が詳しいはずです。
>おそらくmousepressedとか使うんですよね…?
No1にリンクを張っといたのですが…??
雰囲気的に mouseIsPressed ではないかと。
>透明画像と入れ替えたいのですがそのやり方がさっぱり分からなくて…
変数img2の内容がわからないのですが、もしも画像要素(=DOM Element)であるならば
img2.src = '新しいURL'
で置き替わると思います。
画像の読込みに時間がかかる可能性があるのなら、先にimg3とでもして読み込んでおいて、
img2.src = img3.src
とすれば、タイムラグはでなくなると思います。
img2が直接の画像要素ではない場合は、そのプロパティなどから画像要素の実態を取得可能なはずと思いますので、そちらで上記の処理を行えば宜しいでしょう。
P5jsと関係なく実装してしまう方法をとるなら、こんな感じ
document.querySelector('canvas').addEventListener('click', e=>{
img2.src = '新しいURL'; //← img2の内容がわからないので曖昧です
});
No.1
- 回答日時:
こんにちは
P5jsはまったく知らないのですが、概要を見たところ、「canvas利用でdraw内の関数が(多分)一定のフレームレートで繰り返して呼ばれる」という仕組みかと理解しました。
(違っている場合は、以下は無視してください)
ご提示のスクリプトは、省略だらけなのでサッパリわかりませんが、クリックされたらdraw内でimg2を描かなきゃいいんでないの?
https://p5js.org/reference/#/p5/mouseIsPressed
「一度でもクリックされたら以降は表示しない」というパターンなら、フラグでも設定しておいて、クリックでセット、セットされていたら描画しない、というロジックにしておけばよさそう。
あるいは、荒業として、クリックされたらimg2を透明画像に入替えちゃうとかでもよいかも…(笑)
この方法なら、P5jsとは無関係にバインドしておいても反映されるのではないかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- その他(プログラミング・Web制作) pythonで、tkinterとpillowの組み合わせ 2 2022/08/16 17:42
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- HTML・CSS 【HTML】【CSS】【Swiper】 元の画像は横1200×縦600なのですが、実際のサイト上に反 5 2022/07/16 13:57
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Lightbox2でのキャプションにつ...
-
JavaScriptでの画像切替について。
-
画像のサイズが取得できません
-
JavaScriptとチェックボックス...
-
Javascript で共通の処理をどこ...
-
bxsliderにて読み込み後に内容...
-
スライダーを実装した場合、ペ...
-
代替文字が表示されなくなった...
-
Java Scriptの画像切り替えにつ...
-
スワップイメージが上手く動作...
-
画像とテキストのセットをラン...
-
ランダムに画像と文章を表示
-
Javascriptで指定した日付と時...
-
Gifアニメ、最後のコマに行った...
-
小窓について教えて下さい。
-
javascriptを使用し、別窓をサ...
-
クリックで背景変更するタグ
-
スライドショー作成方法。
-
javascriptで毎月替わる画像
-
ロールオーバーで切り替えられ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
textareaに画像を表示したい
-
JavaScript スライドの画像にリ...
-
HTMLで条件分岐はできますか?
-
画像ランダム表示、しかしダブ...
-
bxsliderにて読み込み後に内容...
-
画像を切り替えランダム表示
-
1枚の画像をクリックすると複数...
-
Gifアニメ、最後のコマに行った...
-
画像の重なりの順序を代える方...
-
小窓について教えて下さい。
-
スライダーを実装した場合、ペ...
-
スワップイメージが上手く動作...
-
USEMAPでの指定区域にマウスオ...
-
1枚の画像をクリックして複数の...
-
クリッカブルマップの一部分だ...
-
オンマウスで、画像切り替え+...
-
iframe内のリンク文字のマウス...
-
edgeでスクロールバーに色が表...
-
画像の上に画像リンクを貼る方法
-
prettyphotoの画像表示について
おすすめ情報
回答ありがとうございます。
おそらくmousepressedとか使うんですよね…?
透明画像と入れ替えたいのですがそのやり方がさっぱり分からなくて…
何度も質問して申し訳ないのですが、教えてもらえるとありがたいです。