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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0318
ウルフルフ (投稿者削除)5未解決


ウルフルフ

リンク

2012/3/18(Sun) 17:28:24|NO.45482

この記事は投稿者により削除されました。
2012/3/19(Mon) 12:32:53



この記事に返信する


check

リンク

2012/3/18(Sun) 17:42:44|NO.45483

相当カオスなプログラムだな。
まずは、gosubとreturnの使い方を覚えてからのほうがいいんじゃないか?
そしてラベル名はなるべく分かりやすい方がいい。
(*goto1ではなく、*imageloadや、*parsescriptなど)

自分が、今プログラムがどのあたりのスクリプトを実行しているのか分からなくなったらアウト。



暇人

リンク

2012/3/18(Sun) 18:22:43|NO.45484

どう操作したらエラーが出るかぐらい・・・
err6 in line38って言われてもNO.45482のスクリプトの38行目で良いのかも分からない
エラー出ないし・・・



ウルフルフ

リンク

2012/3/18(Sun) 20:11:24|NO.45485

カオスなプログラムですみませんね!
returnでやったら逆にめんどくさいのでねw!



Taddi

リンク

2012/3/18(Sun) 21:53:08|NO.45488

Error6については
HSPマニュアルにあるエラーメッセージ一覧を確認してください。
そこには、

6 "パラメータの型が違います"
パラメータに指定された型(文字列型、数値型など)が、
規定のものではない 時に表示されます。
変数が指定されている場合は、変数の型が間違っています。

と書かれています。

見る限り、sxやsyという変数が数値型でなければならないものが
文字列型になっているのが原因です。

sx="0" : pos sx,15 : mes "テスト"

ただし、checkさんが指摘されている通り、
その部分を解決しても、根本的な解決にはなりません。
基本的なことを一つずつ焦らず覚えていってください。

私の経験では、
自作するよりもドット絵用のエディタで編集してしまった方が
便利だったなんてことがあります。



cats

リンク

2012/3/19(Mon) 18:28:35|NO.45499

適当だけどエラーを直して見やすくしました。

screen 0,750,500,4 :title "マップ製作ソフト" mname=".bmp" :mname2=".bmp" :sx=0 :sy=0 :key=0 *Start clrobj pos 0,0 :mes"マップチップ選択" pos 0,20:mesbox mname,300,20,,0 pos 300,20 :objsize 20,20 :button gosub"...",*imageload pos 0,40 :objsize 100,20 :button gosub"チップ選択",*imagechoose stop *imageload dialog "bmp",16,"ビットマップ イメージ" if stat=0 :return exist refstr if strsize=-1 :dialog "指定したファイルが存在しません!",1,"エラー" :return mname=""+refstr goto *Start *imagechoose clrobj exist mname if strsize=-1 :dialog "指定したファイルが存在しません!",1,"エラー" :return buffer 1 color 255,255,255 :boxf :picload mname screen 2,ginfo_sx,ginfo_sy,4,0,0 :title "チップ画像" pos 0,0 :gcopy 1,0,0,ginfo_sx,ginfo_sy gsel 0,1 mes"マップ読み込み" pos 0,80:mesbox mname2,300,20,,0 pos 300,80 :objsize 20,20 :button gosub"...",*mapload pos 0,100 :objsize 100,20 :button gosub"マップ選択",*mapchoose mes"マップ保存" mname3=""+mname+"(作成済みマップ).bmp" mesbox mname3,300,24,,0 button gosub"マップ保存",*imagesave button gosub"マップ塗",*paint button gosub"チップ変",*Start *main repeat await 30 getkey key,1 if key=1 :break ;break命令でぬける(ここでgotoを使うと[サブルーチンやループのネストが深すぎます]というエラーになる) loop pos mousex,mousey :gcopy 1,0,0,ginfo_sx,ginfo_sy ;gcopyで描画 goto *main *mapload dialog "bmp",16,"ビットマップ イメージ" if stat=0 :return exist refstr if strsize=-1 :dialog "指定したファイルが存在しません!",1,"エラー" :return mname2=""+refstr goto *imagechoose *mapchoose exist mname2 if strsize=-1 :dialog "指定したファイルが存在しません!",1,"エラー" :return buffer 3 ;マップ読み込み picload mname2 :gsel 0,1 return *imagesave dialog "bmp",17,"ビットマップ イメージ" dialog "ここでとりあえず保存したことにします",0,"プログラム" return *paint repeat pos sx,sy :gcopy 1,0,0,ginfo_sx,ginfo_sy ;gcopyで描画 sx+=15 ;他のところもだけど整数値を指定するときは""で囲んだらダメ。 if sx>=ginfo_sizex :break ;ここもbreak命令でぬける await 30 loop sy+=15 sx=0 if sy>=ginfo_sizey :goto *main goto *paint



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