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


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0810
kkkkkお願いします無知な私におしえてくださいどうかお願いします4解決


kkkkk

リンク

2017/8/10(Thu) 15:00:20|NO.80885

本当に初心者で申し訳ございません
今回はこれを教えていただけると嬉しいです
前回の質問で教えていただいた
HSPアシスタントのサンプルなんですが

;
; カーソルキーで画像を動かす(3)
;
celload "face.bmp" ; 元画像ファイル
face=stat ; 元画像のIDを保存
celdiv face,64,64,32,32 ; パーツのサイズと中心位置

x1=0 : y1=0 ; 左上XY
x2=640 : y2=480 ; 右下XY

mx=320.0 ; X座標
my=240.0 ; Y座標
msp=4.0 ; スピード
mr=0.0 ; 角度
mrsp=0.1 ; 角度回転スピード
*main
redraw 0 ; 描画始め

color 0,0,64
boxf ; 背景を消す

gmode 2 ; 透明色ありの指定
pos mx,my ; 表示位置の設定
celput face,0,1,1,mr ; 画像コピー

redraw 1 ; 描画終わり
await 20

stick key,15 ; キー入力

if key&1 : mr-=mrsp
if key&4 : mr+=mrsp
if key&2 : mgo=msp : gosub *main2
if key&8 : mgo=-msp : gosub *main2

goto *main
*main2 ; 直進
rot=mr-1.57079632
mx=limitf( mx+cos(rot)*mgo, x1, x2 )
my=limitf( my+sin(rot)*mgo, y1, y2 )
return

このサンプルコードの画像ファイルをface.bmpから自機4.pngに変えたいのですが
そこの部分を変えると画面がおかしくなり言葉では説明できない状態になり画像も動きません
出来ればこのサンプルコードを自機4.pngに変える方法を教えてくださいお願いします
このサンプルコードを改造して貼り付けていただけると嬉しいです



この記事に返信する


名前

リンク

2017/8/10(Thu) 18:30:20|NO.80887

こちらでface.bmpを自機4.pngにして確認しましたが正常に動作しました。
具体的にどうなっているのか分からないので何とも言えませんが、
エラーが出ると言う訳では無いのでしょうか?
画像のパス以外に変更した点などはありませんか?画像サイズはあってますか?
以上確認してみてください。

あと、HOMEの欄は自分のホームページやブログなどのURLを記載する場所で、
コメントを記載する場所ではありませんよ。



ゆー(元Yuuki)

リンク

2017/8/10(Thu) 20:36:47|NO.80890


celdiv face,64,64,32,32


celdiv face,ginfo_winx,ginfo_winy,32,32
に変えればいいのでは。



kkkkk

リンク

2017/8/10(Thu) 21:34:43|NO.80891

;
; カーソルキーで画像を動かす(3)
;
celload "自機4.png" ; 元画像ファイル
自機4=stat ; 元画像のIDを保存
celdiv 自機4,ginfo_winx,ginfo_winy,32,32 ; パーツのサイズと中心位置

x1=0 : y1=0 ; 左上XY
x2=640 : y2=480 ; 右下XY

mx=320.0 ; X座標
my=240.0 ; Y座標
msp=4.0 ; スピード
mr=0.0 ; 角度
mrsp=0.1 ; 角度回転スピード
*main
redraw 0 ; 描画始め

color 0,0,64
boxf ; 背景を消す

gmode 2 ; 透明色ありの指定
pos mx,my ; 表示位置の設定
celput 自機4,0,1,1,mr ; 画像コピー

redraw 1 ; 描画終わり
await 20

stick key,15 ; キー入力

if key&1 : mr-=mrsp
if key&4 : mr+=mrsp
if key&2 : mgo=msp : gosub *main2
if key&8 : mgo=-msp : gosub *main2

goto *main
*main2 ; 直進
rot=mr-1.57079632
mx=limitf( mx+cos(rot)*mgo, x1, x2 )
my=limitf( my+sin(rot)*mgo, y1, y2 )
return

具体的にはこのように変更したんですけど変更したらシステムエラーが出てしまいました



kkkkk

リンク

2017/8/10(Thu) 22:33:23|NO.80892

ありがとうございました



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