申し訳ない。スプライトの使い方。(質問掲示板

投稿:        mini marunomori 投稿:2010/06/08 00:43:08(最新:2010/06/08 17:40:08)
本当に頭悪くて申し訳ありません。
なんでノベルでシューティングとか作れるのか不思議なので、私なりに試したのですが分かりませんでした。
ノベルでもマップチップとか使えるのか? とか、ドット絵がリソースに登録できるのか? とかあがいてみたのですが・・・
スプライトを使っているのだろうと思い、ためしたのですが思った通りに表示できません。
大変基本的な質問で恐縮です。
分かる方お願いいたします。

setCanvasVisible(true)  #キャンバス表示設定
showImage(2875) #背景を表示(これは表示される)
speak("test")
test = createSprite(26883) #スプライトを生成
setSpritePosition(test, 0, 0) #スプライトの位置を設定
drawCanvas() #スプライトをキャンバスへ(?)
speak("yesy")

スプライトで指定した画像が表示されないのは、何が足りない、間違っているのでしょうか?
掲示板汚して、本当に申し訳ありません。

コメントする

コメントするには、ログインする必要があります。

コメント一覧

       mini marunomori(投稿日:2010/06/08 17:40, 履歴)
rurun9さん、ありがとうございます。

私は亀仙人の所にいる海亀って所ですかね。
ミスターサタン目指して、トリッキーな作品作れるようになれればなぁ・・・
Nyan mini rurun9(投稿日:2010/06/08 17:18, 履歴)
えーと、DB風な戦闘能力で言うと
仮にオイラが桃白白くらいだとしたら
akasata様やdycoon様はフリーザくらいありますんで、その辺は勘違いなさらずにどうぞ。

具体的に「アンタのコレ、どーやってんの?」てのはメッセージ送ってもらえれば返しますよぉ
       mini marunomori(投稿日:2010/06/08 15:09, 履歴)
余談ですが、関数リファレンスでは、setSpriteRect命令が、コピー元とコピー先の設定のような感じで説明されていたので、表示するだけなら関係ない命令なのかな、と勝手に思い込んでしまったんです。

言い訳です・・・すみません。
お手数おかけしました。
       mini marunomori(投稿日:2010/06/08 15:02, 履歴)
みなさん、ありがとうございます。
dycoonさん、度々お世話になります。
rurun9さん、おお!、あのジャンルにとらわれず、ブロック崩しとかテトリスとか作られたお方じゃないですか!!
ご本人からコメントいただけるなんて、ありがとうございます。

がんばってみます。
(しばらくは大人しくノベルを作りたいと思いますが、ぜひスプライトを使ったゲームにも挑戦していこうと思います)
Nyan mini rurun9(投稿日:2010/06/08 12:11, 履歴)
使い方の具体例よりも根本的な手順が判り難いw

・test=createSprite(画像番号)
「スプライト番号を test に代入、使用画像番号を指定」

・setSpriteRect( test, x,y,w,h, xx,yy,ww,hh )
「スプライトに乗せる絵を素画像上で範囲指定、回転中心となる座標の為にその位置と拡大幅高さを指定」

上記ふたつの後に drawCanvas() しないと見えないと思われマッス。


回転中心てのが謎過ぎるので現時点で判っている事を伝えておくと
スプライトにが左上(x,y)から幅ww高さhhで描かれた際、
その時の描画カーソル位置(仮名)である(x+ww,y+hh)から見てどこをスプライト中心にするか?
を(xx,yy)に設定する、という仕様だと思われます。
また、重要なのがPositionで位置を指定する際に、中心(xx,yy)を原点(0,0)としたそのスプライト個別の座標になっちゃいます。
ややこしや~


なので全く回転させないスプライトは
Rectの(xx,yy)を(0,0)とする事で、座標管理が楽になります。
スプライトのド真ん中を回転中心としたい場合は
Rectの(xx,yy)を( -(x+ww)/2,-(y+hh)/2 )とする事になりますが、Positionがその分ズレているのを忘れると当たり判定とかで大変な事態に陥ります。
Zararu128x128 mini dycoon(投稿日:2010/06/08 11:58, 履歴)
Rmakeのご利用ありがとうございます。

スプライトの使い方は以下が参考になるかと思います。
http://page.rmake.jp/wikis/44
ちょっと見たところでは、
setSpriteRectが呼ばれていないので
そのせいかなと思います。

よろしくお願いします。