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


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
1124
fateHSPのPNG 表示位置10解決


fate

リンク

2011/11/24(Thu) 19:29:15|NO.43245

簡単なノベルゲームを作ろうと思ったのですが、PNGの表示位置の指定が出来ません。
どういう命令を使いますか?
それとも無理なのでしょうか?



この記事に返信する


check

リンク

2011/11/24(Thu) 19:44:05|NO.43246

HSPには驚いたことに標準でPNGの読み込みにも対応してない上、
アルファチャンネルにも対応していないんだなこれが。

buffer命令でバッファを作って、imgloadで(#include "mod_img.as"とスクリプトの一番上に書く必要がある。)
画像を読み込み、pos命令でコピーしたい位置を指定して、gcopyでコピーすればOKだ。


#include "mod_img.as" buffer 1 imgload "hoge.png" gsel 0 pos 100, 100 gcopy 1, 0, 0, 640, 480



fate

リンク

2011/11/24(Thu) 20:42:10|NO.43249

コピーして貼り付けたのですが何も表示されません。
どこかのサイトでIEのバージョンが関係あると言っていたのですが、そのせいでしょうか?
IEのバージョンは9です



ぬこ

リンク

2011/11/24(Thu) 20:47:46|NO.43250

私はpngload32を使ってますね
今のところ問題ないので



check

リンク

2011/11/24(Thu) 20:51:03|NO.43251

IEのバージョンが9だと問題が出るとか聞いたな。
あと、さっきのスクリプトを丸まるコピーしてもまったく動かないぞ。
画像ファイル名とか変えないとな。それくらい考える能力はあるだろう?

あと、拡張プラグインを使うという手もある。
HSP PNG 読み込み プラグイン
あたりのワードでぐぐれ。



fate

リンク

2011/11/24(Thu) 21:06:36|NO.43252

画像ファイル名は変えました。
プラグインはたくさんありすぎてどれを使えばいいのかわかりません。
それとプラグインは説明サイトがよくわかりません。
今はArtlet2Dを使っています。
ですがposで場所を指定しても位置が変わりません。
対応してないのでしょうか?



れみはる

リンク

2011/11/24(Thu) 21:23:33|NO.43253

>今はArtlet2Dを使っています。
>ですがposで場所を指定しても位置が変わりません。

一旦バッファーに画像を読み込み
gcopy命令でメーンウィンドウにコピーすればいいのでは?
gcopy命令はpos命令に対応(?)していますし。

…って #43246で似たようなレスが付いてる件


自分はa2dには詳しくないので
何かズれているレスをしてたら申し訳ないです。



info

リンク

2011/11/24(Thu) 22:45:19|NO.43259

多分下のスクリプトで出来ると思います。
a2d の 手順としては
alCreateimage または alCreateimagebyfile でイメージを作成。
alcopyimagetoscreen 等で、バッファのimageのcopy
最後に redraw で再描画するのが一般的です。


#include "a2d.hsp" #include "my_module\\Graphic\\easygdip_module.as" #enum WID_MAIN =0 #enum IID_FILE alCreateimagebyfile IID_FILE,"ファイル名" if(stat==-1):dialog "失敗":end alcopyimagetoscreen IID_FILE,WID_MAIN redraw 0



fate

リンク

2011/11/25(Fri) 08:19:41|NO.43267

今、自分が使っているソースコードです。
これは、表示位置の移動ができないのでしょうか。

#include "a2d.hsp" #define IMG_PNG 0 alCreateImageByFile IMG_PNG, "test.png" if stat = -1 { dialog "GDI+ を初期化できませんでした。" end } alCopyImageToScreen IMG_PNG,0,,,,,, redraw stop



通りすがり

リンク

2011/11/25(Fri) 09:15:15|NO.43268

普通に出来るのですが。
ちゃんとマニュアルやヘルプを読んでください。
それともこれを実行しても変わりませんか?

#include "a2d.hsp" #define IMG_PNG 0 #define WNDID_MAIN 0 filepath = DIR_EXE + "\\doclib\\HSP Document Library\\img_hdl.png" alCreateImageByFile IMG_PNG, filepath if stat = -1 { dialog "GDI+ を初期化できませんでした。" end } x = 100 y = 100 repeat 100 redraw 0 : color 255, 255,255 : boxf alCopyImageToScreen IMG_PNG, WNDID_MAIN, x - cnt, y - cnt redraw 1 wait 1 loop



fate

リンク

2011/11/25(Fri) 15:01:10|NO.43270

できました。
通りすがりさんありがとうございました。
皆さんもありがとうございました。



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