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

Project1

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

战斗窗口的 X Y 值

 关闭 [复制链接]

Lv4.逐梦者

ST戰士

梦石
11
星屑
82
在线时间
1155 小时
注册时间
2007-5-5
帖子
3489

第5届短篇游戏比赛季军

跳转到指定楼层
1
发表于 2008-8-27 08:23:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x


怎样把战斗的窗口移动中央?
请前辈们指教~ {/gg} {/gg}
版务信息:本贴由楼主自主结贴~
我是昵称 JIN 的迅雷進,是一位以日本特攝講解爲主的馬來西亞 YouTuber。

歡迎瀏覽我的頻道:JinRaiXin -迅雷進-
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-7-14
帖子
74
2
发表于 2008-8-27 08:24:59 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv4.逐梦者

ST戰士

梦石
11
星屑
82
在线时间
1155 小时
注册时间
2007-5-5
帖子
3489

第5届短篇游戏比赛季军

3
 楼主| 发表于 2008-8-27 08:33:24 | 只看该作者
这个小弟也知道,
不过只是强制性移动、固定第一个角色而已,
一旦加入和第二位、第三位同伴就会出现问题的了。
小弟想要的效果就好像是网站那样的中央(网站是使用<p align="center">xxx</p>的方法)。
我是昵称 JIN 的迅雷進,是一位以日本特攝講解爲主的馬來西亞 YouTuber。

歡迎瀏覽我的頻道:JinRaiXin -迅雷進-
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-7-14
帖子
74
4
发表于 2008-8-27 08:38:47 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

今、空を見上げ

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-8-11
帖子
2022
5
发表于 2008-8-27 08:42:08 | 只看该作者
迅雷君也是个高手,相信问题 并不是那么简单.

是移动战斗选择项目 的吗?永久保持在中间?
还是移动状态栏?
做任何事,都不要为自己找借口。任何事都不存在困难的借口。你只有3个字“做得到”
回复 支持 反对

使用道具 举报

Lv4.逐梦者

ST戰士

梦石
11
星屑
82
在线时间
1155 小时
注册时间
2007-5-5
帖子
3489

第5届短篇游戏比赛季军

6
 楼主| 发表于 2008-8-27 08:59:44 | 只看该作者
以下引用殲滅天使·玲于2008-8-27 0:42:08的发言:

迅雷君也是个高手,相信问题 并不是那么简单.

是移动战斗选择项目 的吗?永久保持在中间?
还是移动状态栏?

别这么说,
小弟还在学习中~ {/hx} {/hx}
小弟想要的效果就好像一下那张图那样:




无论是增加或减少人数都不会影响窗口的位置。
不过真的很难…
可能小弟不懂得在哪里改的缘故吧? {/gg} {/gg}
我是昵称 JIN 的迅雷進,是一位以日本特攝講解爲主的馬來西亞 YouTuber。

歡迎瀏覽我的頻道:JinRaiXin -迅雷進-
回复 支持 反对

使用道具 举报

Lv1.梦旅人

今、空を見上げ

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-8-11
帖子
2022
7
发表于 2008-8-27 09:06:05 | 只看该作者
分格?
我有这个脚本 ,只是 ,, 效果不是分格开的
http://rpg.blue/viewthread.php?t ... D8%2D27+1%3A04%3A00
上面是我坑化的一个游戏 迅雷君你看 这种效果合适吗??
那个分格开的话 好象要修改某地方..
至于什么地方 我也不太清楚..只记得很久以前有人说过还是有教程的存在
做任何事,都不要为自己找借口。任何事都不存在困难的借口。你只有3个字“做得到”
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-7-14
帖子
74
8
发表于 2008-8-27 09:08:26 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv4.逐梦者

ST戰士

梦石
11
星屑
82
在线时间
1155 小时
注册时间
2007-5-5
帖子
3489

第5届短篇游戏比赛季军

9
 楼主| 发表于 2008-8-27 09:12:24 | 只看该作者
以下引用殲滅天使·玲于2008-8-27 1:06:05的发言:

分格?
我有这个脚本 ,只是 ,, 效果不是分格开的
http://rpg.blue/viewthread.php?tid=93495&ntime=2008%2D8%2D27+1%3A04%3A00
上面是我坑化的一个游戏 迅雷君你看 这种效果合适吗??
那个分格开的话 好象要修改某地方..
至于什么地方 我也不太清楚..只记得很久以前有人说过还是有教程的存在

对!
小弟要的就是这样~
请问玲君的那个效果是要修改哪里的呢?
我是昵称 JIN 的迅雷進,是一位以日本特攝講解爲主的馬來西亞 YouTuber。

歡迎瀏覽我的頻道:JinRaiXin -迅雷進-
回复 支持 反对

使用道具 举报

Lv1.梦旅人

今、空を見上げ

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-8-11
帖子
2022
10
发表于 2008-8-27 09:14:41 | 只看该作者
找到了 迅雷君!~先插入这个脚本
战斗图显示人物头像~ ,行走图依然为战斗图

  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================


  4. class Window_BattleStatus < Window_Base
  5. #--------------------------------------------------------------------------
  6. # ● 初始化对像
  7. #--------------------------------------------------------------------------
  8. def initialize
  9.    super(0, 320, 640, 160)
  10.    @w = []
  11.    for i in 0..$game_party.actors.size-1
  12.      @w[i] = Window_Base.new(0,320,160*i,160)
  13.      @w[i].back_opacity = 0
  14.    end
  15.    self.contents = Bitmap.new(width - 32, height - 32)
  16.    @level_up_flags = [false, false, false, false]
  17.    refresh
  18. end
  19. #--------------------------------------------------------------------------
  20. # ● 释放
  21. #--------------------------------------------------------------------------
  22. def dispose
  23.    super
  24.    @w.dispose
  25. end
  26. end

  27. #==============================================================================
  28. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  29. #==============================================================================
复制代码



然后插入这个脚本
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================


  4. class Window_BattleStatus < Window_Base
  5. #--------------------------------------------------------------------------
  6. # ● 初始化对像
  7. #--------------------------------------------------------------------------
  8. def initialize
  9.    super(320 - $game_party.actors.size*80, 320, 160*$game_party.actors.size, 160)
  10.    @w = []
  11.    for i in 0..$game_party.actors.size-1
  12.      @w[i] = Window_Base.new(320 - $game_party.actors.size*80 + i*160,320,160,160)
  13.      @w[i].back_opacity = 0
  14.    end
  15.    self.contents = Bitmap.new(width - 32, height - 32)
  16.    @level_up_flags = [false, false, false, false]
  17.    refresh
  18. end
  19. #--------------------------------------------------------------------------
  20. # ● 释放
  21. #--------------------------------------------------------------------------
  22. def dispose
  23.    super
  24.    for w in @w
  25.      w.dispose
  26.    end
  27. end
  28. end

  29. #==============================================================================
  30. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  31. #==============================================================================

复制代码


最后插入

  1. # ————————————————————————————————————
  2. # 本脚本来自www.66rpg.com,转载请保留此信息
  3. # ————————————————————————————————————

  4. # ▼▲▼ XRXS_BP 7. バトルステータス?クリアデザイン ver.1.03 ▼▲▼
  5. # by 桜雅 在土

  6. #==============================================================================
  7. # ■ Window_BattleStatus
  8. #==============================================================================
  9. class Window_BattleStatus < Window_Base
  10.   #--------------------------------------------------------------------------
  11.   # ● 公開インスタンス変数
  12.   #--------------------------------------------------------------------------
  13.   attr_accessor :update_cp_only # CPメーターのみの更新
  14.   #--------------------------------------------------------------------------
  15.   # ● オブジェクト初期化
  16.   #--------------------------------------------------------------------------
  17.   alias xrxs_bp7_initialize initialize
  18.   def initialize
  19.     # 初期化
  20.     @previous_hp = []
  21.     @previous_sp = []
  22.     # 呼び戻す
  23.     xrxs_bp7_initialize
  24.     # ↓Full-Viewの場合は下二行の # を消してください。
  25.     self.opacity = 160
  26.     self.back_opacity = 160  
  27.    
  28. =begin   
  29.    @hp = []
  30.    for j in 0...$game_party.actors.size
  31.      @hp[j] = $game_party.actors[j].hp
  32.    end
  33.    @refresh_flag = true
  34.    refresh
  35. =end   
  36.    
  37.    
  38.   end
  39. #★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
  40.   def draw_battler_graphic(actor, x, y)
  41.     battler=RPG::Cache.battler(actor.battler_name, actor.battler_hue)
  42.     w = battler.width
  43.     h = battler.height
  44.     self.contents.blt(x-w/2, y-h, battler, Rect.new(0, 0, w,h),255)
  45.     self.z = 20
  46.   end
  47. #★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

  48.   #--------------------------------------------------------------------------
  49.   # ● リフレッシュ
  50.   #--------------------------------------------------------------------------
  51.   alias xrxs_bp7_refresh refresh
  52.   def refresh
  53.     # CPメーターの更新のみ の場合
  54.     if @update_cp_only
  55.       xrxs_bp7_refresh
  56.       return
  57.     end
  58.     # 変更するものがない場合、飛ばす
  59.     @item_max = $game_party.actors.size
  60.     bool = false
  61.     for i in 0...@item_max
  62.       actor = $game_party.actors[i]
  63.       if (@previous_hp[i] != actor.hp) or (@previous_sp[i] != actor.sp)
  64.         bool = true
  65.       end
  66.     end
  67.     return if bool == false
  68.     # 描写を開始
  69.     self.contents.clear
  70.     for i in 0...@item_max
  71.       actor = $game_party.actors[i]
  72.       actor_x = i * 160 + 21
  73.       # 歩行キャラグラフィックの描写
  74.       draw_battler_graphic(actor, actor_x + 43, 80)
  75.       # HP/SPメーターの描写
  76.       
  77.       
  78.       draw_actor_hp_meter_line(actor, actor_x - 17, 82, 120, 10)
  79.       
  80.       
  81.       draw_actor_sp_meter_line(actor, actor_x - 17, 98, 120, 10)
  82.       # HP数値の描写
  83.       self.contents.font.size = 18 # HP/SP数値の文字の大きさ
  84.       self.contents.font.color = Color.new(0,0,0,192)
  85.       self.contents.draw_text(actor_x, 72, 96, 24, actor.hp.to_s, 2)
  86.       self.contents.font.color = actor.hp == 0 ? knockout_color :
  87.       actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
  88.       self.contents.draw_text(actor_x-2, 70, 96, 24, actor.hp.to_s, 2)
  89.       # SP数値の描写
  90.       self.contents.font.color = Color.new(0,0,0,192)
  91.       self.contents.draw_text(actor_x, 88, 96, 24, actor.sp.to_s, 2)
  92.       self.contents.font.color = actor.sp == 0 ? knockout_color :
  93.       actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
  94.       self.contents.draw_text(actor_x-2, 86, 96, 24, actor.sp.to_s, 2)
  95.       # 用語「HP」と用語「SP」の描写
  96.       self.contents.font.size = 18 # 用語「HP/SP」の文字の大きさ
  97.       self.contents.font.color = Color.new(0,0,0,192)
  98.       self.contents.draw_text(actor_x - 7, 74, 196, 24, $data_system.words.hp)
  99.       self.contents.draw_text(actor_x - 7, 90, 196, 24, $data_system.words.sp)
  100.       self.contents.font.color = system_color # 用語「HP/SP」の文字の色
  101.       self.contents.draw_text(actor_x - 7, 72, 196, 24, $data_system.words.hp)
  102.       self.contents.draw_text(actor_x - 7, 88, 196, 24, $data_system.words.sp)
  103.       # ステートの描写
  104.       draw_actor_state(actor, actor_x-20, 103) #X- 55
  105.       # 描画角色姓名
  106.       #draw_actor_name(actor, actor_x-17, 103)
  107.       # 値を更新
  108.       @previous_hp[i] = actor.hp
  109.       @previous_sp[i] = actor.sp
  110.     end
  111.   end
  112. end
  113. #==============================================================================
  114. # ■ Window_Base
  115. #==============================================================================
  116. class Window_Base < Window
  117.   #--------------------------------------------------------------------------
  118.   # ● HPメーター の描画
  119.   #--------------------------------------------------------------------------
  120.   def draw_actor_hp_meter_line(actor, x, y, width = 156, height = 4)
  121.     w = width * actor.hp / actor.maxhp
  122.     hp_color_1 = Color.new(255, 0, 0, 192)
  123.     hp_color_2 = Color.new(255, 255, 0, 192)
  124.     self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
  125.     draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
  126.     x -= 1
  127.     y += (height/4).floor
  128.     self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
  129.     draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
  130.     x -= 1
  131.     y += (height/4).ceil
  132.     self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
  133.     draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
  134.     x -= 1
  135.     y += (height/4).ceil
  136.     self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
  137.     draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
  138.   end
  139.   #--------------------------------------------------------------------------
  140.   # ● SPメーター の描画
  141.   #--------------------------------------------------------------------------
  142.   def draw_actor_sp_meter_line(actor, x, y, width = 156, height = 4)
  143.     w = width * actor.sp / actor.maxsp
  144.     hp_color_1 = Color.new( 0, 0, 255, 192)
  145.     hp_color_2 = Color.new( 0, 255, 255, 192)
  146.     self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
  147.     draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
  148.     x -= 1
  149.     y += (height/4).floor
  150.     self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
  151.     draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
  152.     x -= 1
  153.     y += (height/4).ceil
  154.     self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128))
  155.     draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2)
  156.     x -= 1
  157.     y += (height/4).ceil
  158.     self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128))
  159.     draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2)
  160.   end
  161.   #--------------------------------------------------------------------------
  162.   # ● 名前の描画
  163.   #--------------------------------------------------------------------------
  164.   alias xrxs_bp7_draw_actor_name draw_actor_name
  165.   def draw_actor_name(actor, x, y)
  166.     xrxs_bp7_draw_actor_name(actor, x, y) #if @draw_ban != true
  167.   end
  168.   #--------------------------------------------------------------------------
  169.   # ● ステートの描画
  170.   #--------------------------------------------------------------------------
  171.   alias xrxs_bp7_draw_actor_state draw_actor_state
  172.   def draw_actor_state(actor, x, y, width = 120)
  173.     xrxs_bp7_draw_actor_state(actor, x, y, width) if @draw_ban != true
  174.   end
  175.   #--------------------------------------------------------------------------
  176.   # ● HP の描画
  177.   #--------------------------------------------------------------------------
  178.   alias xrxs_bp7_draw_actor_hp draw_actor_hp
  179.   def draw_actor_hp(actor, x, y, width = 144)
  180.     xrxs_bp7_draw_actor_hp(actor, x, y, width) if @draw_ban != true
  181.   end
  182.   #--------------------------------------------------------------------------
  183.   # ● SP の描画
  184.   #--------------------------------------------------------------------------
  185.   alias xrxs_bp7_draw_actor_sp draw_actor_sp
  186.   def draw_actor_sp(actor, x, y, width = 144)
  187.     xrxs_bp7_draw_actor_sp(actor, x, y, width) if @draw_ban != true
  188.   end
  189. end
  190. #==============================================================================
  191. # ■ Scene_Battle
  192. #==============================================================================
  193. class Scene_Battle
  194.   #--------------------------------------------------------------------------
  195.   # ● フレーム更新
  196.   #--------------------------------------------------------------------------
  197.   alias xrxs_bp7_update update
  198.   def update
  199.     xrxs_bp7_update
  200.     # メッセージウィンドウ表示中の場合
  201.     if $game_temp.message_window_showing
  202.       @status_window.update_cp_only = true      
  203.     else
  204.       @status_window.update_cp_only = false
  205.     end
  206.   end
  207. end
  208. #==============================================================================
  209. # ◇ 外部ライブラリ
  210. #==============================================================================
  211. class Window_Base
  212.   #--------------------------------------------------------------------------
  213.   # ● ライン描画 軽量版 by 桜雅 在土
  214.   #--------------------------------------------------------------------------
  215.   def draw_lineght(start_x, start_y, end_x, end_y, start_color)
  216.     # 描写距離の計算。大きめに直角時の長さ。
  217.     distance = (start_x - end_x).abs + (start_y - end_y).abs
  218.     # 描写開始
  219.     for i in 1..distance
  220.       x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
  221.       y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
  222.       self.contents.set_pixel(x, y, start_color)
  223.     end
  224.   end
  225.   #--------------------------------------------------------------------------
  226.   # ● ライン描画 by 桜雅 在土
  227.   #--------------------------------------------------------------------------
  228.   def draw_line(start_x, start_y, end_x, end_y, start_color, width = 1, end_color = start_color)
  229.     # 描写距離の計算。大きめに直角時の長さ。
  230.     distance = (start_x - end_x).abs + (start_y - end_y).abs
  231.     # 描写開始
  232.     if end_color == start_color
  233.       for i in 1..distance
  234.         x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
  235.         y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
  236.         if width == 1
  237.           self.contents.set_pixel(x, y, start_color)
  238.         else
  239.           self.contents.fill_rect(x, y, width, width, start_color)
  240.         end
  241.       end
  242.     else
  243.       for i in 1..distance
  244.         x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
  245.         y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
  246.         r = start_color.red * (distance-i)/distance + end_color.red * i/distance
  247.         g = start_color.green * (distance-i)/distance + end_color.green * i/distance
  248.         b = start_color.blue * (distance-i)/distance + end_color.blue * i/distance
  249.         a = start_color.alpha * (distance-i)/distance + end_color.alpha * i/distance
  250.         if width == 1
  251.           self.contents.set_pixel(x, y, Color.new(r, g, b, a))
  252.         else
  253.           self.contents.fill_rect(x, y, width, width, Color.new(r, g, b, a))
  254.         end
  255.       end
  256.     end
  257.   end
  258. end

复制代码




效果如


其实我对这个效果更加有爱的说...{/hx}


系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
做任何事,都不要为自己找借口。任何事都不存在困难的借口。你只有3个字“做得到”
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-25 12:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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