トピック

複数のSPをX座標Y座標のちょうど真ん中に表示するにはどうすれば良いでしょうか?

SPOFS 0,(399/?),(239/?)の形で教えて下さい!
1そうだね
未プレイ
返信[1]
親投稿
KU kerorinU
上画面は400×240なので、中心座標は(200,120)です。
1そうだね
プレイ済み
返信[2]
親投稿
スプライトの大きさを加味すると、スプライトの大きさが16x16の場合、下記の様に成ります。 SPOFS 0,(400-16)/2,(240-16)/2
0そうだね
プレイ済み
返信[3]
親投稿
say sayer.exe
自分で答え書いてますやん デフォルトでスプライト0の場合 spofs (400/2)-8,(240/2)-8 ' 見た目上-1~1のズレはある ☆原点分(8,8)だけ引いてる
1そうだね
プレイ済み
返信[4]
親投稿
nobu divine-creator
複数の…というのは変ですね…。中央に表示できるのは一つだけなので、複数を表示するには、中央に置くスプライトの大きさに合わせて、他のスプライトを周りに配置しないと無理です! もし中央に表示させるスプライトを切り替えて使うというのなら、最初に表示させたスプライトをSPCHRで別のスプライトに変更する…という方法になるでしょう♪ 何より大事なのは中心座標ではなく、使用するスプライトの大きさです!
0そうだね
プレイ済み
返信[5]
親投稿
ツララ LongIceSword
画面の解像度というか、ドットの数はフルサイズ使うとするなら縦・横ともに偶数なので、本当の意味での中心座標ってのは無いですね。 sayさんの仰るように多少のズレが発生します。 でもSPHOMEとかでSPの動きの基準となる点は、実座標じゃなくて境界で指定するので、SPHOMEで指定する位置の数値をスプライトのサイズの半分の数にしてやると本当の意味での中心を指定できますよ。 SPHOMEで基準点を変えたスプライトをSPROTでクルクル回してやると何となく分かると思います。
0そうだね
プレイ済み
返信[6]
親投稿
あきと SideBurnsM
プログラム大好きさんはもうちょっと「自分で試してみる」という事をしてみた方がいいのでは? SPSET 0,0 SPOFS 0,400/2,240/2 を質問する意味があるんでしょうか。 もしくはコードを貼り付けて「このコードはスプライトを画面の真ん中に表示できていますか?少し右のような気がします」ならまだ分かりますが何もせずに質問しているように見えます。
2そうだね
プレイ済み
返信[7]
親投稿
すみません、僕が言いたいのはつまり、ゲームのタイトルをSPで表示したいと言う事です。
0そうだね
未プレイ
返信[8]
親投稿
nobu divine-creator
タイトルなら、なおさら座標関係ないですよ! タイトルの文字数によってSPの大きさが変わるから、実際に表示してみて調節するのが一番です! タイトルは大きなSP一つで良いのだから、それを端に表示してみれば、どのくらい右にズラせば良いか分かるでしょう♪
0そうだね
プレイ済み
返信[9]
親投稿
otta777 otta777a
それならそのように書かないと伝わりませんよ。 質問を思いつきで書いて投稿してしまうと言葉足らずになったりするんで 投稿前に一度文面を読み返すことをお勧めします。
2そうだね
プレイ済み
返信[10]
親投稿
nbuさん>>分かりました! otta777さん>>そうですね!今後、気をつけます!
0そうだね
未プレイ
返信[11]
親投稿
質問は、公序良俗に反しない限り、何を仕ても良いのでは無いですか。其れに答えるか答えないかは、答える人が判断すれば良い丈の事ですから。私は、自分で判断して欲しい、自分で試して欲しいと思った時は、質問に答えず、スルーして居ます。
0そうだね
プレイ済み
返信[12]
親投稿
KU kerorinU
あきとさんのコメントに対して発言したと仮定します 質問をすると、誰かに解答される可能性が生じます。烏賊先生がスルーしたとしても、他の人が「詳細でそのままゲームに組み込めるような解答」をつけるかもしれない。プログラム大好きさんはその解答を「理解せず」そのまま組み込むかもしれない。 あきとさんはそのような、「自分でやらずにゲームを作る」状態に陥ってしまうのを危惧してコメントしたのでは。
0そうだね
プレイ済み
返信[13]
親投稿
マギー M191246
リンクされていない複数のSPを 中央付近にならべて表示する簡単な命令は ないので、 それぞれ個別に計算するしかないようです。
0そうだね
プレイ済み
返信[14]
親投稿
ツララ LongIceSword
nobuさんの回答に補足しますと、スプライトの動きの基準点は初期の状態だとスプライトの左端上端の「点」(スプライトのグラフィック上でのドットの位置では無いことに注意)で、SPOFSで指定する座標はSPHOMEで指定した「座標」の数値のドットと一致したところになります。 デフォルトの状態でSPOFSで座標(0,0)を指定してもスプライトが画面外にはみ出さないのは、グラフィック画面の左端上端の座標(0,0)とスプライトの基準座標(0,0)が重なっているからですね。 SPOFSで場所をズラした数値だけ画面内をスプライトが移動するはず。
0そうだね
プレイ済み
返信[15]
親投稿
nobu divine-creator
そうなんですよね♪タイトルの場合と操作するキャラの場合とでは、原点座標の考え方が違っていて、タッチ操作する場合には原点座標が左上だと操作しづらくなるというのはCAT_TOUCHプログラムを作った時に気づきました! タッチ操作の場合は、原点座標をスプライトの中心にすることで、タッチした場所に動かすことができますけど、タイトルなど動かさないスプライトの原点座標を中心にすると、表示する位置を決めるのが難しくなってしまうんですよね…。動かさないスプライトの原点座標は、左上のほうが簡単に表示位置を決められます♪
0そうだね
プレイ済み
返信[16]
親投稿
返信遅くなってごめんなさい! 皆さん回答有難うございました! コメント受付終了させて頂きます!
0そうだね
未プレイ