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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0614
Reimy画像読み込みに関するモジュール(2.XからHSP3への変換について)3解決


Reimy

リンク

2012/6/14(Thu) 03:08:13|NO.47255

はじめまして。
掲示板への書きこみは2003年以来となります。
5年ぶりにHSPを再開したのですが、HSP3については初心者で
すので、ここで勉強させて頂きたいと思いますので、今後ともよろしく
お願い致します。

自作ゲーム用に開発したHSP2.6でのスクリプトエンジンのソースを
元にして、HSP2.XからHSP3への移行を進めているのですが、画像読み
込みに関するモジュールの作り方が上手くできずに困っています。

■HSP2.6用のソース
===========================================================
title "「画像読み込みテスト」"
screen 0,640,480,0
;----------------------------------------------------------
#module
#deffunc img str
mref fname,32
exist fname
if strsize>0:goto *img_red
exist ""+fname+".jpg"
if strsize>0:fname=fname+".jpg":goto *img_red
exist ""+fname+".bmp"
if strsize>0:fname=fname+".bmp":goto *img_red
gsel 0:dialog "読み込みエラー"+fname+"がみつかりません",1
return
;--------------
*img_red
picload ""+fname+"",1,0,0
return
#global
;----------------------------------------------------------
fn_img="data\\image\\"
gsel 0:img ""+fn_img+"cg01"
stop
===========================================================

★内容の説明
"data\\image\\"のフォルダ内にある"cg01"のファイル名の
jpgとbmpの画像を順に調べます。
画像があれば表示、無ければエラーメッセージを表示します。


■HSP3.3にてエラーが出るソースです。
===========================================================
title "「画像読み込みテスト」"
screen 0,640,480,0
;----------------------------------------------------------
#module
#deffunc img str fname
exist fname
if strsize>0:goto *img_red
exist ""+fname+".jpg"
if strsize>0:fname=fname+".jpg":goto *img_red
exist ""+fname+".bmp"
if strsize>0:fname=fname+".bmp":goto *img_red
gsel 0:dialog "読み込みエラー"+fname+"がみつかりません",1
return
;--------------
*img_red
picload ""+fname+"",1,0,0
return
#global
;----------------------------------------------------------
fn_img="data\\image\\"
gsel 0:img ""+fn_img+"cg01"
stop
===========================================================

★説明
if strsize>0:fname=fname+" の行にて
#Error23 変数名が指定されていません
のエラーメッセージが表示されます。
#deffunc img str fnameの指定の仕方に問題がある様に
思うのですが、試行錯誤してみましたが上手くいきませんでした。
以上よろしくお願い致します。

■上記のdataです。(7日間で消えるらしいです。)
http://firestorage.jp/download/fe7d74f41494496778e1e668e8df4757cd88274a



この記事に返信する


kino

リンク

2012/6/14(Thu) 08:32:48|NO.47256

#deffunc img str fname の行を

#deffunc img str f
fname=f

に変更したら、いちよう動きますねー
まあ理由は判りません。(^^;

あとpicload文のパラメータが多いみたいです



TMKL

リンク

2012/6/14(Thu) 08:50:50|NO.47257

fnameは変数ではなく文字列パラメータですから、
fnameに代入(fname=〇〇)みたいなことはできません

解決方法としては、kinoさんがやったように、
パラメータは別に用意して、fnameは変数にするのが良いでしょう

あと、スクリプトを掲示板に貼るときは、preタグで囲みましょう



Reimy

リンク

2012/6/14(Thu) 09:08:56|NO.47258

ありかとうございます。
おかげで解決致しました。

>あと、スクリプトを掲示板に貼るときは、preタグで囲みましょう

了解しました。



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