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


HSPTV!掲示板


未解決 解決 停止 削除要請

2016
0729
びぎなOBAQ + HGIMG3での色取得6解決


びぎな

リンク

2016/7/29(Fri) 20:33:15|NO.76424

OBAQ + HGIMG3でゲームを作っています
オブジェクトの配置を決めるのに画面上の色情報を利用したいのですが
てっきり使えるものと思っていたpget命令がOBAQ + HGIMG3では機能しないようで困っています
OBAQ単独、HGIMG3単独で試したところOBAQの方は取得できたので恐らくHGIMG3が原因なのだろうと予測はついているのですが
パフォーマンス上HGIMG3も必要なので両方を使った状態で色を取得する方法をどなたか教えて頂けないでしょうか
よろしくお願いします



この記事に返信する


暇人

リンク

2016/7/30(Sat) 14:39:45|NO.76435

HGIMG3の描画先はHSPウィンドウとは別物なのでpget命令は使えない
HGIMG3で描画されたのをHSPウィンドウにコピー(hgcapture)する事は可能

具体的に何を表示してpgetの情報をどう利用するかが分かれば代替方法等考えられるかも・・・



びぎな

リンク

2016/7/30(Sat) 21:21:51|NO.76439

ピンボール風のゲームでクリーチャーなどの画像を表示し
ボールの当たった部位が徐々に削れて破壊されていくような演出をさせたいと考えています
その為画像の不透明箇所(色の存在する部分)に当たり判定用のオブジェクトを並べて配置させたく、
その基準として画面上の色を利用できたらと思った次第です
hgcaptureは実はやってみたのですが自分の理解が足りていないのか成功しませんでした



暇人

リンク

2016/7/30(Sat) 22:45:06|NO.76442

hgcaptureにはサイズ制限がある(仕様と言うよりバグっぽい・・・)

hgcapture側のウィンドウ内にマウス移動するとカーソル下の色を取得して表示する

#include "hgimg3.as" #include "obaq.as" title "hgimg3" hgini qreset ; OBAQの初期化 qgetptr obaq_ptr hgobaq obaq_ptr, 1,0 texload dir_exe+"\\sample\\hgimg3\\obaqlogo.bmp" ; OBAQロゴ読み込み logoid=stat ; ロゴのID texload dir_exe+"\\sample\\hgimg3\\q.bmp" ; 素材画像を読み込む tex=stat qaddpoly my, 4, 96,20,0 ; 三角形を追加 qmat my,mat_spr,tex clscolor $40 screen 1,640,480,0,ginfo_wx2,ginfo_wy1 title "hgcapture" *main qexec ; OBAQによるオブジェクトの更新 hgdraw ; 描画処理 color 255,0,0:gmode 2,128,64 ; ロゴ描画の設定 pos 110,64:hgrotate logoid,0,0,0 ; ロゴ描画 hgsync 16 ; 時間待ち gsel 1 //コピー先バッファを操作先にする hgcapture pget mousex,mousey r=ginfo_r g=ginfo_g b=ginfo_b color 0,0,0 boxf 0,0,200,30 color 255,255,255 pos 0,0 mes "R("+r+") G("+g+") B("+b+")" redraw 1//テスト用に見えるようにしたいので gsel 0 //一応戻しとく stick k,127 if k&128 : goto *owari ; [ESC]で終了 goto *main *owari end
hgcaptureはそれなりに重いので毎フレーム使用するのには向いて無い



びぎな

リンク

2016/7/31(Sun) 01:13:22|NO.76443

サイズ制限…そんなものがあるとは思いもよりませんでした
確かにウィンドウサイズは大きく取っていました
それが原因だったんですね

しかしサイズに関しては譲れないところなのでHSPでの開発は
残念ながら断念しようかと思います

載せて頂いたスクリプトはとても参考になりました
ありがとうございました



暇人

リンク

2016/7/31(Sun) 01:28:40|NO.76445

>しかしサイズに関しては譲れないところなのでHSPでの開発は
一応サイズ制限の無いhgcapture2を追加するモジュールがある
キャプチャ位置サイズが指定出来るので無駄な部分をキャプチャするのを防げる

hgimg3のhgcapture命令の速度使い勝手を改良したhgcapture2を追加するモジュール
http://hsp.tv/play/pforum.php?mode=pastwch&num=58997
の NO.59057 が最新版



びぎな

リンク

2016/7/31(Sun) 13:26:10|NO.76458

おお、凄い
そんな事ができるとは

何から何までありがとうございます
もう少しがんばってみます



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