マップ上でピクチャーをウィンドウ前に表示したい

返信する
Nekoball
記事: 4
登録日時: 2021年2月03日(水) 01:18

マップ上でピクチャーをウィンドウ前に表示したい

投稿記事 by Nekoball »

はじめまして、ゲーム制作中の者ですが、ご協力いただきたい事があり投稿させてください。
指定したピクチャー番号のピクチャーをウィンドウ前に表示出来るスクリプトを探しています。
ツクマテ内で同じ内容のスクリプトがあり使わせていただきましたが、そのスクリプトを単体で使用しても何故かラグが酷くゲームがカクカクしてしまいます…
別サイト様でバトル用のピクチャウィンドウ前表示スクリプトは問題なく動く為、スクリプト次第ではラグがなくなると思います。宜しければご協力頂けると幸いです!
ショウ
記事: 149
登録日時: 2016年8月10日(水) 19:52

Re: マップ上でピクチャーをウィンドウ前に表示したい

投稿記事 by ショウ »

多分俺のかな、色々試した所ACEはforよりこっちの方が良いみたい。
修正したので試してみて下さい。
http://tm.yumineko.com/viewtopic.php?f= ... 198#p22198
TOMO
記事: 349
登録日時: 2015年11月16日(月) 20:12
連絡する:

Re: マップ上でピクチャーをウィンドウ前に表示したい

投稿記事 by TOMO »

あんまり言うのもどうかと思ったけど、
ショウさんのスクリプトにちょっと問題がありそうだったので作ってみました
ビューポートをピクチャに設定するタイミングの辺

コード: 全て選択

class Spriteset_Map
  #--------------------------------------------------------------------------
  # ● ビューポートの作成
  #--------------------------------------------------------------------------
  alias tomo_foreground_picture_create_viewports create_viewports
  def create_viewports
    tomo_foreground_picture_create_viewports
    @viewport4 = Viewport.new
    @viewport4.z = 300
  end
  #--------------------------------------------------------------------------
  # ● ビューポートの解放
  #--------------------------------------------------------------------------
  alias tomo_foreground_picture_dispose_viewports dispose_viewports
  def dispose_viewports
    tomo_foreground_picture_dispose_viewports
    @viewport4.dispose
  end
  #--------------------------------------------------------------------------
  # ● ピクチャスプライトの更新
  #--------------------------------------------------------------------------
  def update_pictures
    $game_map.screen.pictures.each do |pic|
      case pic.number
      when 21..30
        @picture_sprites[pic.number] ||= Sprite_Picture.new(@viewport4, pic)
      else
        @picture_sprites[pic.number] ||= Sprite_Picture.new(@viewport2, pic)
      end
      @picture_sprites[pic.number].update
    end
  end
  #--------------------------------------------------------------------------
  # ● ビューポートの更新
  #--------------------------------------------------------------------------
  alias tomo_foreground_picture_update_viewports update_viewports
  def update_viewports
    tomo_foreground_picture_update_viewports
    @viewport4.color.set($game_map.screen.flash_color)
    @viewport4.update
  end
end
21~30番が手前に来ます

create_picturesでやってたのをupdate_picturesでやり
解放&更新処理の追加と、画面のフラッシュの対応もしておきました

ラグに関しては、原因のスクリプトがどれなのか分からないので何とも言えません
(本当にショウさんの?)
ただ、これ以上軽くするのは難しいと思うので、
『別サイト様』とやらのもこんな感じなのかな?


規約に関しては、一応改変素材なのでショウさんのと同じにします
(改変自由&素材単体での販売禁止)


※おまけ1
競合対策してないupdate_picturesを競合対策したい場合

コード: 全て選択

  alias tomo_foreground_picture_update_pictures update_pictures
  def update_pictures
    $game_map.screen.pictures.each do |pic|
      case pic.number
      when 21..30
        @picture_sprites[pic.number] ||= Sprite_Picture.new(@viewport4, pic)
      end
    end
    tomo_foreground_picture_update_pictures
  end
該当する部分をこちらに差し替えると競合対策されます
(22~32行目辺り)

ただ、ラグが問題だったようなので、
少し重くなるこれにするのはやめておきました


※おまけ2
戦闘画面でも手前に来るようにしたい場合

コード: 全て選択

class Spriteset_Battle
  #--------------------------------------------------------------------------
  # ● ビューポートの作成
  #--------------------------------------------------------------------------
  alias tomo_foreground_picture_create_viewports create_viewports
  def create_viewports
    tomo_foreground_picture_create_viewports
    @viewport4 = Viewport.new
    @viewport4.z = 300
  end
  #--------------------------------------------------------------------------
  # ● ビューポートの解放
  #--------------------------------------------------------------------------
  alias tomo_foreground_picture_dispose_viewports dispose_viewports
  def dispose_viewports
    tomo_foreground_picture_dispose_viewports
    @viewport4.dispose
  end
  #--------------------------------------------------------------------------
  # ● ピクチャスプライトの更新
  #--------------------------------------------------------------------------
  def update_pictures
    $game_troop.screen.pictures.each do |pic|
      case pic.number
      when 21..30
        @picture_sprites[pic.number] ||= Sprite_Picture.new(@viewport4, pic)
      else
        @picture_sprites[pic.number] ||= Sprite_Picture.new(@viewport2, pic)
      end
      @picture_sprites[pic.number].update
    end
  end
  #--------------------------------------------------------------------------
  # ● ビューポートの更新
  #--------------------------------------------------------------------------
  alias tomo_foreground_picture_update_viewports update_viewports
  def update_viewports
    tomo_foreground_picture_update_viewports
    @viewport4.color.set($game_troop.screen.flash_color)
    @viewport4.update
  end
end
3か所変えただけです
(Spriteset_Map→Spriteset_Battle、$game_map→$game_troop)

こっちもおまけ1が使えます
($game_mapを$game_troopにする必要がありますが)
現在サポート終了中
ショウ
記事: 149
登録日時: 2016年8月10日(水) 19:52

Re: マップ上でピクチャーをウィンドウ前に表示したい

投稿記事 by ショウ »

直書き&慣れない移植はこういう時あかんね(笑)
ちなみにラグに関してはとりあえず修正前の奴はたしかにちょっとラグってました。
ただ最初に投稿した当時はラグって無かったのでもしかしたら環境によるものも
あるかもしれません。

あとVXでupdate_picturesでやるとくっそ重くなる上ピクチャも荒くなるので
create_picturesを使ったんですがACEとの違いってなんなんでしょうか?
それとも作り方の問題なのかな?
TOMO
記事: 349
登録日時: 2015年11月16日(月) 20:12
連絡する:

Re: マップ上でピクチャーをウィンドウ前に表示したい

投稿記事 by TOMO »

VXが最初から0~20番目まで用意されてるのに対し、
VXAceのGame_Picturesは最初は空配列で、
「||=」で後から使う度に追加されます

その為、initializeで実行するcreate_picturesだと、
タイミング的に次マップからになります
現在サポート終了中
ショウ
記事: 149
登録日時: 2016年8月10日(水) 19:52

Re: マップ上でピクチャーをウィンドウ前に表示したい

投稿記事 by ショウ »

なるほどそういう事か、勉強になりました。
Nekoball
記事: 4
登録日時: 2021年2月03日(水) 01:18

Re: マップ上でピクチャーをウィンドウ前に表示したい

投稿記事 by Nekoball »

御二方、お返事いただきありがとうございました!
LuzUeki28006
記事: 2
登録日時: 2025年5月09日(金) 18:57

Re: マップ上でピクチャーをウィンドウ前に表示したい

投稿記事 by LuzUeki28006 »

Openly expressing your feelings and thoughts is also a good approach. You could tell your partner, I've always wanted deeper intimacy with you, but sometimes I don't know how to express it. I think a lesbian sex doll could be a bridge between us, allowing us to more courageously express our needs. Then, let's talk about the futa sex doll: I've considered futa sex dolls, but after thinking about it, I think lesbian sex dolls can help us feel a more authentic emotional connection. What do you think? Let your partner feel your sincerity and understand that your proposal stems from your cherishment of the relationship, which will help them lower their guard.
返信する

“VX / Ace:スクリプト素材のリクエスト”に戻る