> テクノけいさつ さん
>hsp3dishの場合のみ、上と左に1ドットの表示ずれが発生するように思います。
上記について、私も最近調査していたのでコメントさせて頂きます。
これは、zrs90(5さい) さんの記載した過去URLにもあるように
8年前から存在する Win版 Dishの celput命令未サポート項目(不具合)です。
当時の回答には、付属ドキュメントに書かれた「仕様なので・・」とありますが、
明らかに本来取得するセルデータの画像座標が(-1,-1)しています。
結果、HSP3Dish(win)自体を修正してもらうのを待つしかないのが現状です。
まあ既に8年も経過しているので正式に報告する必要がありそうですが。。
検証としてサンプルを少し改良しました(セルNoも変更)
;#include "hgimg4.as"
#include "hsp3dish.as"
screen 0,320,320,0
buffer 1,512,512,0
celload dir_exe+"\\sample\\hsptv\\hsptv_img.png",1,0
celdiv 1,64,64,0,0
gsel 0:gmode 2
redraw 0
color 255,0,255:boxf:color 255,255
pos 40,10:mes "x-1.00",4
pos 120,10:mes "x1.50",4
cno=21:cx=(cno\8)*64:cy=(cno/8)*64
pos 100,100:celput 1,cno,-1.00,-1.00,0
pos 100-64,102:gzoom -64,-64,1,cx,cy,64,64,0
pos 120,40:celput 1,cno,1.50,1.50,0
pos 120,42+96:gzoom 96,96,1,cx,cy,64,64,0
redraw 1
マイナス(x-1.00)では反転画像の取得座標が(-1,-1)ズレています。
左のドット色は海マップの青色と同じ、上のドット色は透過と帽子の茶色で
PNGと一致しているようです。
ちなみに拡大(x1.50)では拡大画像の取得座標が(-1,-1)ズレており、
左のドット色は拡大でアンチエイリアス処理されていますが、
城マップの地面色と同じで上のドット色も海マップの青色なので
PNGと一致しています。倍率を変えてもズレ量は(-1,-1)固定のようです。
-----
>celput使用時の作法などがありますでしょうか?
>もしくは既知の仕様?でしょうか。
既知の仕様ではないです。ドキュメントにも記載はありません。
Dishは Win版含めプラットフォームごとの利用者が少ないためか、本件含め問題や不具合が
取り扱われにくい気がします(まあ、私が検索下手なだけかもですが。。)
celput命令は正等倍で使う分には問題が無いですが、それだと意味ないですね。。
セルの外周に1ドットの間隔を設けてグラフィック制作する方法もありますが、
celdivに余白の設定は無いですし、キャラなど背景透明なものには良いですが、
マップデザインのような全面カラードットで埋まるものに対応できません。
今回のマイナス値に限った対応ですが、影響しない程度の少数を付けることで(-0.99や-1.01など)
取得位置がズレて直る?ようです。ただこれは不具合を利用した対策です。
ちなみにこの対策は拡大には対応できません。
他にはサンプルのように、gzoom命令で回避ができますが、回転は対応していません。
セルナンバーの管理や中心座標は別に組まないといけません。
命令変更による処理速度の低下?があるかは未検証です。
色々と書かせて頂きましたが、参考になりますでしょうか?