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

ありがとうございました



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.80885への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

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