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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0706
☆ひとみ表示した停止状態の3D画像を画面内の枠でbmp形式の画像として保存する方法が知りたいです10未解決


☆ひとみ

リンク

2008/7/6(Sun) 18:07:40|NO.17170

hgimg3をインクルードして
背景をcls 4で黒にしています。
その後、
addxfile命令
regobj命令
setpos命令
cammode命令
hgdraw命令
hgsync命令と行い3D画像を表示して画面に3D画像は出力できているのですが、
この画面映像を、画像としてbmp形式で保存したいのですが
bmpsaveで書き出すと黒一色で3D画像の部分は保存されません。

どうやったら3D画像を含めてbmp形式の保存ができるのでしょうか?
判る方が居ましたら、教えてください;;



この記事に返信する


Quiet

リンク

2008/7/6(Sun) 18:12:13|NO.17171

cls 4の直後にbmpsaveを置いているからではないでしょうか。

そうでなければ、Print Screenキーでディスプレイ全体をコピーするのも
手です。



☆ひとみ

リンク

2008/7/6(Sun) 18:56:32|NO.17172

#include "hgimg3.as"
screen 0,640,480,0
cls 4
hgini
addxfile m_xmodel0,"test.x"
regobj tileobj, m_xmodel0:setpos tileobj, 0,0,0
cammode CAM_MODE_LOOKAT ; カメラ注視モード
setpos HGOBJ_CAMERA,0,-250,200 ; カメラのX,Y,Z座標
*main
hgdraw 5 ; 描画
hgsync 1000 ; 時間待ち
★ここで保存
stop

プログラムを簡単にすると★のところで保存命令bitsaveしたのですが、
真っ黒でした



☆ひとみ

リンク

2008/7/6(Sun) 19:12:48|NO.17173

プログラム全部書くと長いのでstop命令書いた状態までですけど、
実際はもっとプログラムは長いです。
(真っ黒になる現象が再現される最小状態まで、関係しないプログラム命令を削ってます)
画像を保存をしたい目的は、
プログラムの起動状態で作られた画像をBMP形式で保存し、
その保存されたデータを同プログラム内で呼び出して使用するためです。
ですので、
プログラムが実行してる状態でプログラム内部で実行中の保存方法が知りたいので、
プログラム停止した状態をwindowsのプリントスクリーンで人為的な操作を必要とする機能で
画面を保存する方法は目的にあわなくなってしまいます;;

でも、お返事ありがとうです



M

リンク

2008/7/6(Sun) 19:17:45|NO.17174

hgcapture命令を使って、別のバッファにコピーしておく必要があります。

hgdraw buffer 9,640,480:gsel 9 ;とりあえず9番を用意 hgcapture ;キャプチャーして bmpsave "test.bmp" ;保存 gsel 0 hgsync 15



☆ひとみ

リンク

2008/7/6(Sun) 19:47:39|NO.17175

Mさん、ありがとうです。
勉強になりました。

一度どっかに描くってのは思いつかなかったです^^;
HPSって他のプログラム言語より難しいですねー

命令の使い方のヘルプを毎日にらめっこしてるけど、
一緒に使わないと実現しませんって命令が多すぎるような気がします。
そのくせ、ヘルプのリファレンスでは、命令そのものしかなくて苦労します。
書籍探しても本ぜんぜんないしw。
VBやCより簡単っていうことで飛びついて見たんですが、
VBやCで出来ることを実現させるだけでも、めちゃくちゃ辛い気が(笑
簡単にできることもあるにはあるんだけど、運用性がないものばかりw

HPSはじめたばかりだし、色々これからもがんばって使ってみまーす



ぬらりにん

リンク

2008/7/6(Sun) 21:24:45|NO.17178

HSPだあよ



シレトコ翼竜

リンク

2008/7/7(Mon) 19:10:32|NO.17185

Hot Soup Processor(ホットスーププロセッサ、略称HSP.
だからアイコンがスープカップになっている)

HSPは比較的簡単だと思いますよ。そのわりに強力で、
マシンの性能が高い今日では一番日本人が日本で最短距離で
「使える」んじゃないかなと思います。

HSP = 簡単 (なんでもできるが、3D命令は省かれている)

HGIMG3 = 3Dを扱うための拡張命令群。ONION software純正品。
簡単だけどHSPの基本部分と描画の方法(概念)が異なっている。
(通常描画と3D描画を両立させるには工夫が必要になる。)

HSP自体にあまり慣れてないうちに
HSP + HGIMG3 といったカタチで使うと、
描画の段階であたまのなかが混乱する可能性があると思います。

でもなんとか消化できると思いますよ。
ようは HGIMG3 を使う場合はすべて HGIMG3 の命令に存在する描画命令で
まかなってやるのが基本ということ。(同一ウインド内では。)

HGIMG3 は、現在もなお進化中です。
それもあって、確固たるヘルプ解説や、入門者用の明解な書籍やサイトが
そろっていないのが現状で、それもわかりにくい理由の一つかも。

HSP用書籍を一度すべてパラパラと立ち読みすることをお勧めします。
HGIMG3の解説もすこしづつですが載っています。
ただし、前言どおり HGIMG3 は進化中(バージョンアップ中)で、
こまかい仕様はどんどん変更(改善)されていますので、
自分の使用中(習得中)の HGIMG3 のバージョンをしっかり意識して、
そのセットのなかにふくまれる hgimg3.txt を熟読すると良いですよ。
(知らずに古いバージョンのHGIMG3の解説を読むと混乱のもと。)

個人的には、HGIMG3 に関しては開発途中版であっても
最新のものを使用するのがよいと思います。
(2008年7月7日現在最新は、HGIMG3 ver3.2TEST1 です。)

なので、掲示板で質問するときも使用バージョンを書くとよい場合も多いです。

さらに、3Dを扱うための拡張命令群は、HGIMG3 以外でも
Easy3D というものが存在し、HSP + Easy3D というカタチで使用します。
(HSP + Easy3D + HGIMG3 という使い方はできません。どちらか一つ。)

それと蛇足ですが、HGIMGとHGIMG3は別物です。
HGIMG はDirectXがあってもなくても3Dが使えるのが特徴で、
HGIMG3 はDirectXが必須です。今日ではみんな HGIMG3 を使うのが普通になっていますが、
古いパソコンをネットがつながらない所で使っていたりする場合はHGIMGが活躍するかもしれません。
(現在 HGIMG3をダウンロードするページでは HGIMGという表記になっていますが、
 これはたぶんバージョン数字とごっちゃにならないための配慮、または脱字です。)

以上。質問がおもしろかったのと、これからも HGIMG3 についての
書き込みをしてもらって私も参考にしたかったので、概要を説明してみました。



GENKI

リンク

2008/7/7(Mon) 21:38:20|NO.17186

ヘルプで分からないときはネット上の解説を探すか、本を調べるのが一番です。
ネットはぐぐるとして、本は買う前に立ち読みをお勧めします。

> HSP用書籍を一度すべてパラパラと立ち読みすることをお勧めします。

ということで、補足をかねてHSPの3D関連を中心に扱った書籍一覧。

12歳からはじめる HSP3.0 わくわくゲームプログラミング教室
http://www.rutles.net/books/124.html
HSP3対応のHGIMG3本で一番詳しいのはおそらくこれじゃないでしょうか。
「12歳からはじめる」と書いてあるからと言ってためらうことなきよう。

HSPでつくる簡単3Dゲーム
http://www.kohgakusha.co.jp/books/detail/4-7775-1061-1
こちらはHSP2.6のころのものです。
HSP2.6とHSP3は変更箇所が多数あり、移植作業が必要です。お勧めしません。

3Dゲーム・クックブック HSP+Easy3D入門
http://www.shuwasystem.co.jp/products/7980html/1843.html
HSP3対応。Easy3Dの本です。
ツールRokDeBone2の使い方にも触れています。

他にもHSP3全般を扱った書籍ならHGIMG3の記事が掲載されているはずです。


ところでHSP3になってからはHGIMG使ってないので分かりませんが、
HSP2のころはネット上の資料は少なかったですね…。今はどうなんでしょう。


> 一緒に使わないと実現しませんって命令が多すぎるような気がします。

Easy3Dはいかがでしょうか?こういった意味ではもう少し扱いやすいように思います。
関連:
[Easy3D Ring] http://webring-next.com/easy3d/
[Easy3DサンプルWiki] http://easy3d.wikiwiki.jp/


> HSP = 簡単 (なんでもできるが、3D命令は省かれている)

補足。(というか蛇足というか。)
標準命令で描画されるd3moduleってのもありますが、
これはDirectXを使っているhgimgやEasy3Dとはまた別物になります。



Quiet

リンク

2008/7/7(Mon) 22:02:37|NO.17187

ちなみに、僕は本屋でHSPを立ち読みしてHSPを知り、はじめました。



knock2

リンク

2008/7/8(Tue) 12:29:13|NO.17193

私はゲームもやらないしHGIMG3も使ったことないけどシレトコ翼竜さんの説明分かりやすい!

で、本題ですがDirectXを使って描画しているものは画面キャプチャーもできないようです。
但しハードウエアアクセレーターの設定を一時的に低レベルにすればできます。



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