●PerlでONS BB編 拡張スプライト
一応?縮小中なのですが、前述の通り追加修正は随時行っていきますのでよろしくです。
特に折角実装して頂いた拡張スプライト、サボる前にありがたく使わせて貰わないと!
とはいえ、それにしたってちょっと修正にのめり込み過ぎたかも知れません…orz
色々と嵌ってしまいました。
※底本バイナリにはすとーむさんの ONS20080110 for Win を使用
draw系命令での拡大・回転はその後の通常進行に無理が生じたのですが、
拡張スプライトだとすきほーだい伸ばして回せるようになります。
ただ多少癖があるのが、座標を左上ではなく中心で指定しているところ。
Bullet Butlers では下の様な感じで座標を出してみました。
defsub lsps ~~ *lsps getparam %19,$3,%20,%21,%22,%23,%24,%25 lsph %19,$3,0,0,0 getspsize %19,%7,%8 csp %19 mov %20,%20+%7/2+1 mov %21,%21+%8/2+1 lsp2 %19,$3,%20,%21,%22,%23,%24,%25 return
~本文~ lsps 10,"sprite.png",20,50,150,150,0,255
amspなども同様に。
またテキストウィンドウや通常のスプライトとの兼ね合いも悩みどころでした。
拡張スプライトはボタン化出来ないので、システムカスタマイズをどうしようかと…。
結論から言うと
windowback下では 通常スプライト 0 to x > "humanz x" テキストウィンドウ > 拡張スプライト 0 to 255 > 通常スプライト x+1 to 999 (xは任意の自然数)
こういった重ね合わせで表示されるようです。
キャラ・背景部分は拡張スプライトで、システムカスタマイズのボタン類は通常スプライトで、と問題なく使い分けできるんですね。
当初は全画像を拡張スプライトにしたりとか、ボタン化で前に持ってこようとか無駄に足掻いてました。
そして連続でのエフェクトはいつものようにタイマーでぶん回してひとまず完了と。
昔アップしたシーンがこんな感じになりました。やっほい
検証が済んでいないテストスクリプトはこちら BulletButlers(heavy_test)
→ テストであまり問題がなさそうなので以後個別エントリで。多少修正しています。 → 軽量化修正
ううむ、拡張スプライトは思った以上に見栄えが良くてステキデス。ひたすら感謝を
ただ通常進行の全画像を拡張スプライトで描画しているため、PSP的な意味でちょっと不安が…。
あとロ、ロードは見ちゃ駄目なんだからね(棒)
まあさておき、以前のバージョンと挙動が違っていたものの原因(textonの描画判定)も分かりましたし、
おいおい新バイナリ対応へと移行させたいと思います。縮小しながらー
コメント
>>ひとつもりさん
お疲れ様です m(_ _)m
私は実感した一人ですから・・・
凄く良くなったと思います^^
Posted by: 新米 | 2008年03月11日 22:28
早速ありがとうございます。
なんと言ってもONSの性能にびっくりですよ。
何かスクリプトで不具合がありましたらまたご連絡ください。
Posted by: ひとつもり | 2008年03月11日 23:19
お久しぶりです。
先日は、ご意見ありがとうございました。
コンバータの作成は、時間がかかるゆえに、こもりがちになるため、ともすれば、暴走ぎみになりがちなので、色々とご指摘していただけると、助かります。
こちらの方でも、StarTRainの修正版から、拡張スプライトの導入をしました。
当初は、恋楯の修正版から、採用しようと思ったのですが、こちらの方が、修正を緊急に行う必要があったので・・
通常のスプライトとの兼ね合いの処理では、このページを大いに参考にさせていただきました。ありがとうございました。
拡張スプライトの座標合わせには、かなり頭の痛くなる思いをしました。正直、まだ慣れていませんが、これからの作品のコンバータは、拡張スプライトの仕様が、標準になりそうなので、慣れるようにしたいですね・・・
ところで、拡張スプライトを使用してみて、気になったところが気になりました。
・クロスフェードの処理が、やや雑になっているような感じがします。例えば、
print 10,1000
のような処理をおこなうと、通常のスプライトのそれと比べると、印象が異なる気がします。
重箱の隅をつつくような、細かいことですが・・
・monocro命令のような画像処理には、今のところ、対応していないようです。何か方法があるのかもしれませんが、とりあえず、通常の方法では、駄目なようです。
・・今のところ気づいたのは、こんなところですが、拡張スプライトのおかげで、表現の幅が大幅に広がりそうですね。何とか使いこなしたいですね。
それでは、今回はこれで失礼します。
Posted by: HARU | 2008年03月25日 00:38
お久しぶりです。
例の件では差し出がましく本当に申し訳ありません。
自分で言うのも何ですが、あまりお気に病まずご活動頂けると嬉しいです。
拡張スプライトの件、了解しました。
monocro命令は本家Nスクでも使えないようですね。
フェード処理は気付きませんでしたが、やはり負担など増えてるんでしょうか。
でもおかげで色々出来るので嬉しいことしきりですね。
Posted by: ひとつもり | 2008年03月26日 22:15