设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1222|回复: 20
打印 上一主题 下一主题

[有事请教] 精灵.x=游戏屏幕.x 脚本这么写啊

[复制链接]

Lv4.逐梦者

梦石
0
星屑
6301
在线时间
1104 小时
注册时间
2015-8-15
帖子
658
跳转到指定楼层
1
发表于 2023-6-14 16:49:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
精灵x=游戏screen.x   游戏screenx=120+精灵i*87  精灵y=游戏screen.y   游戏screen.y=560  

Lv1.梦旅人

梦石
0
星屑
130
在线时间
63 小时
注册时间
2021-4-23
帖子
24
2
发表于 2023-6-20 14:44:18 | 只看该作者
screen
sprite
game
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6301
在线时间
1104 小时
注册时间
2015-8-15
帖子
658
3
 楼主| 发表于 2023-6-21 08:04:59 | 只看该作者

脚本不成立Sprite_Character.Sprite_Battler.Sprite_Picture.Sprite_Timer.Spriteset_Map。没有对应屏幕显示坐标
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33208
在线时间
10495 小时
注册时间
2009-3-15
帖子
4756
4
发表于 2023-6-21 15:07:13 | 只看该作者
你想在哪里搞这个
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6301
在线时间
1104 小时
注册时间
2015-8-15
帖子
658
5
 楼主| 发表于 2023-6-21 16:13:23 | 只看该作者
本帖最后由 金芒芒 于 2023-6-21 16:43 编辑

RUBY 代码复制
  1.  
soulsaga 发表于 2023-6-21 15:07
你想在哪里搞这个


精灵显示在map上 ,x=显示的x  y=显示的y  精灵=玩家的头像 ,玩家在地图上战斗
我想要玩家的头像跟第2张图地图战斗窗口一样固定在显示器的坐标上
现在的脚本sprite.x = @character.screen_x  我想要改sprite.x = screen_x  不知道用那个精灵

现在用的是角色精灵
class Sprite_Character < RPG::Sprite
  #--------------------------------------------------------------------------
  # ● 参数设置 正太君改
  #--------------------------------------------------------------------------
  # 设置图片文件名.不想要底图就让底图完全透明或设置为 ""
  # 图片放在 Graphics/Pictures/ 文件夹下
  TeamTagFileName = "wodeshib"
  # 设置显示友军标记的开关号
  TeamTagBar = 10
  
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  alias hzhj_old_init_make_tag initialize
  def initialize(*args)
    @team_tag_sprite = Sprite.new(args[0])
    @tags_sprites = []
    @tags_sprites << @team_tag_sprite
    @team_tag_sprite.bitmap = RPG::Cache.picture(TeamTagFileName)
   
    @team_flag_sprite = Sprite.new(args[0])
    @team_flag_sprite.bitmap = RPG::Cache.picture("test-flag")
    @tags_sprites << @team_flag_sprite
   
    @count = 0
    @wait_count = 0
   
    hzhj_old_init_make_tag(*args)
  end
  #--------------------------------------------------------------------------
  # ● 释放
  #--------------------------------------------------------------------------
  alias hzhj_old_dispose_make_tag dispose unless $@
  def dispose
    @tags_sprites.each{|sprite|sprite.dispose}
    hzhj_old_dispose_make_tag
  end
  #--------------------------------------------------------------------------
  # ● 获取事件 HP # 正太君改
  #--------------------------------------------------------------------------
  def event_hp
     return 0 if @character.nil?
     return 0 if @character.is_a?(Game_Player)
     return @character.hp
  end
=begin   
  #--------------------------------------------------------------------------
  # ● 判断是否显示队友标记
  #--------------------------------------------------------------------------
  def show_team_tag?
    #under construct
    return false if @character.is_a?(Game_Player)
    return false if $scene.group_lisenter == nil
    selected = $scene.group_lisenter.include?(@character.group)

    if event_hp > 0 and @character.team == 1 and selected and [email protected]
       return $game_switches[TeamTagBar]
    else
      return false
    end  
   
  end
=end
  #--------------------------------------------------------------------------
  # ● 判断是否显示队长旗子
  #--------------------------------------------------------------------------
  def show_team_flag?
    return false if @character.is_a?(Game_Player)
    return false if @character.is_a?(EFS_Hero)
    return false if $scene.group_lisenter == nil
    selected = $scene.group_lisenter.include?(@character.group)
   
    cp = $scene.team_groups[@character.group-1].captain
    if cp == @character
       return $game_switches[TeamTagBar]
    else
      return false
    end  
   
  end
  
  #--------------------------------------------------------------------------
  # ● 判断是否显示队友标记
  #--------------------------------------------------------------------------
  def show_team_tag?
    #under construct
    return false if @character.is_a?(Game_Player)
    return false if $scene.group_lisenter == nil
    @selected = $scene.group_lisenter.include?(@character.group)

    if event_hp > 0 and @character.team == 1 and [email protected] # and selected
       return $game_switches[TeamTagBar]
    else
      return false
    end  
   
  end

  #--------------------------------------------------------------------------
  # ● 更新画面
  #--------------------------------------------------------------------------
  alias hzhj_old_update_make_tag update
  def update
    hzhj_old_update_make_tag
    if [email protected]_a?(EFS_Battler) and [email protected]_a?(Game_Player)
      @tags_sprites.each{|sprite|sprite.visible = false}
    else
      if show_team_flag?
        @team_flag_sprite.visible =  true
      else  
        @team_flag_sprite.visible =  false
      end  
      # 刷新 标记 可见状态
      if show_team_tag?
        
        @team_tag_sprite.visible =  true

        if @selected
          @tags_sprites.each do |sprite|
            
            
          sprite.ox = sprite.bitmap.width / 2
          sprite.oy = sprite.bitmap.height
          sprite.z = z
          sprite.x = @character.screen_x
          #blink_on
          shif = @character.is_cal
          if @character.ammo>0
          sprite.y = shif ? @character.screen_y-92 : @character.screen_y-60
          else
          sprite.y = shif ? @character.screen_y-82 : @character.screen_y-50
          end
          sprite.opacity = 255
          end#loop
        
        else

        # 刷新坐标
        @tags_sprites.each do |sprite|
          #sprite.zoom_y = 1
          sprite.ox = sprite.bitmap.width / 2
          sprite.oy = sprite.bitmap.height
          sprite.z = z
          sprite.x = @character.screen_x
          #blink_on
          shif = @character.is_cal
          if @character.ammo>0
          sprite.y = shif ? @character.screen_y-92 : @character.screen_y-60
          else
          sprite.y = shif ? @character.screen_y-82 : @character.screen_y-50
          end
          sprite.opacity = 125
        end#loop
        
        end #if include
        
      else
        @tags_sprites.each{|sprite|sprite.visible = false}
      end
      
    end
   
   
   
  end
  
  
end

1354.png (180.27 KB, 下载次数: 12)

1354.png

完成.png (220.89 KB, 下载次数: 10)

完成.png
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33208
在线时间
10495 小时
注册时间
2009-3-15
帖子
4756
6
发表于 2023-6-21 16:47:53 | 只看该作者
金芒芒 发表于 2023-6-21 16:13
[/pre]

精灵显示在map上 ,x=显示的x  y=显示的y  精灵=玩家的头像 ,玩家在地图上战斗

显示器的坐标上?
什么意思?
鼠标的坐标吗
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6301
在线时间
1104 小时
注册时间
2015-8-15
帖子
658
7
 楼主| 发表于 2023-6-21 17:00:09 | 只看该作者
本帖最后由 金芒芒 于 2023-6-21 17:03 编辑
soulsaga 发表于 2023-6-21 16:47
显示器的坐标上?
什么意思?
鼠标的坐标吗

类似事件显示一张图片一样固定在显示窗口上
$game_screen.pictures[number].show(name, origin, x, y, zoom_x, zoom_y, opacity, blend_type)

999.png (55.84 KB, 下载次数: 8)

999.png
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33208
在线时间
10495 小时
注册时间
2009-3-15
帖子
4756
8
发表于 2023-6-21 17:06:30 | 只看该作者
金芒芒 发表于 2023-6-21 17:00
类似事件显示一张图片一样固定在显示窗口上
$game_screen.pictures[number].show(name, origin, x, y, zoo ...

那就不要用角色精灵啦

点评

终于问到点上了  发表于 2023-6-21 17:16
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6301
在线时间
1104 小时
注册时间
2015-8-15
帖子
658
9
 楼主| 发表于 2023-6-21 17:13:17 | 只看该作者
soulsaga 发表于 2023-6-21 17:06
那就不要用角色精灵啦


那你推荐一个精灵我不知道那个精灵匹配
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33208
在线时间
10495 小时
注册时间
2009-3-15
帖子
4756
10
发表于 2023-6-21 17:14:06 | 只看该作者
金芒芒 发表于 2023-6-21 17:13
那你推荐一个精灵

@character.screen_x=XX
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-2 20:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表