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

Project1

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

[已经过期] 如何实现类似这样的变量值显示?(有图有真相)

[复制链接]

Lv2.观梦者

梦石
0
星屑
685
在线时间
661 小时
注册时间
2012-10-21
帖子
350
跳转到指定楼层
1
发表于 2015-2-13 21:51:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 bloodyliao 于 2015-2-13 22:57 编辑


如图,类似这样的变量值显示是怎么做到的呢?


Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2015-2-14 07:43:58 | 只看该作者
参考 https://rpg.blue/thread-369305-1-1.html

平行四边形同理但是更简单

点评

方法就是我在这层给的链接。想知道怎么弄请自学脚本  发表于 2015-2-14 10:20
不只是4张了……每隔0.1%都移动一点点……我把vx的脚本发过来,你可以看看ace里面怎么用吗?  发表于 2015-2-14 10:11
那就准备4张图片,根据百分比来决定显示哪张图片呗。当然不可能有脚本精确就是了  发表于 2015-2-14 09:43
用图片的方式要怎么做呢?  发表于 2015-2-14 09:37
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
685
在线时间
661 小时
注册时间
2012-10-21
帖子
350
3
 楼主| 发表于 2015-2-14 10:12:32 | 只看该作者
这个是vx的,希望能改成ace语句……
  1. #==============================================================================
  2. # ** Window_Lunar
  3. #------------------------------------------------------------------------------
  4. #  This window displays the amount of gold.
  5. #==============================================================================

  6. class Window_Lunar < Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # * Object Initialization
  9.   #     x : window X coordinate
  10.   #     y : window Y coordinate
  11.   #--------------------------------------------------------------------------
  12.   def initialize(x, y)
  13.     super(x, y, 544, 128)
  14.     self.opacity = 0
  15.     @lunar_sprites = [Sprite.new, Sprite.new, Sprite.new, Sprite.new]
  16.     bmp = Bitmap.new(320, 100)
  17.     bmp.skew_blt_r(0, 0, Cache.system("Eclipse_1"), Cache.system("Eclipse_1").rect, 45)
  18.     @lunar_sprites[0].bitmap = bmp
  19.     bmp = Bitmap.new(320, 100)
  20.     bmp.skew_blt_r(0, 0, Cache.system("Eclipse_2"), Cache.system("Eclipse_2").rect, 45)
  21.     @lunar_sprites[1].bitmap = bmp
  22.     bmp = Bitmap.new(320, 100)
  23.     bmp.skew_blt_r(0, 0, Cache.system("Eclipse_3"), Cache.system("Eclipse_3").rect, 45)
  24.     @lunar_sprites[2].bitmap = bmp
  25.     @lunar_sprites[3].bitmap = Cache.system("Lunar_Warn")
  26.     for sprite in @lunar_sprites
  27.       sprite.opacity = 0
  28.       sprite.blend_type = 2
  29.       sprite.x = 43
  30.       sprite.y = 16
  31.       sprite.z = 30000
  32.       sprite.visible = true
  33.       sprite.zoom_x = sprite.zoom_y = 0.5
  34.     end
  35.     @lunar_sprites[3].blend_type = 1
  36.     @lunar_sprites[3].x = 36
  37.     @lunar_sprites[3].y = 10
  38.     @lunar_sprites[3].z = 30001
  39.     @lunar_sprites[3].zoom_x = @lunar_sprites[3].zoom_y = 1
  40.     @ecl_count = 3
  41.     @lunar = $game_variables[3]
  42.     @warn_glow = false
  43.     refresh
  44.   end
  45.   def dispose
  46.     for sprite in @lunar_sprites
  47.       sprite.bitmap.dispose
  48.       sprite.dispose
  49.     end
  50.     super
  51.   end
  52.   #--------------------------------------------------------------------------
  53.   # * Refresh
  54.   #--------------------------------------------------------------------------
  55.   def refresh
  56.     self.contents.clear
  57.     if @lunar != $game_variables[3]
  58.       @lunar = $game_variables[3]
  59.     end
  60.     bmp = Bitmap.new(self.contents.rect.width, self.contents.rect.height)
  61.     bmp.blt(0, 0, Cache.system("Lunar_Back"), Cache.system("Lunar_Back").rect)
  62.     lunar_w = ($game_variables[3] * 256) / 1000
  63.     lunar_rect = Rect.new(0, 0, lunar_w, 40)
  64.     bmp.blt(0, 0, Cache.system("Lunar_Fill"), lunar_rect)
  65.     solar_rect = Rect.new(lunar_w + 2, 0, 254 - lunar_w, 40)
  66.     bmp.blt(lunar_w + 2, 0, Cache.system("Solar_Fill"), solar_rect)
  67.     ebmp = Bitmap.new(self.contents.rect.width, self.contents.rect.height)
  68.     ebmp.skew_blt_r(16, 16, bmp, bmp.rect, 45)
  69.     e_rect = ebmp.rect
  70.     e_rect.width /= 2
  71.     e_rect.height /= 2
  72.     self.contents.stretch_blt_r(e_rect, ebmp, ebmp.rect)
  73.     fs = self.contents.font.size
  74.     self.contents.font.size = 24
  75.     lunar_percent = ($game_variables[3] * 0.1).to_s
  76.     self.contents.font.italic = true
  77.     self.contents.draw_text(12, 18, 160, 32, lunar_percent + "%", 2)
  78.     self.contents.font.italic = false
  79.   end
  80.   def update
  81.     super
  82.     if @lunar != $game_variables[3]
  83.       refresh
  84.       @lunar = $game_variables[3]
  85.     end
  86.     if @lunar < 250
  87.       if @warn_glow
  88.         @lunar_sprites[3].opacity += 16
  89.         if @lunar_sprites[3].opacity >= 255
  90.           @warn_glow = false
  91.         end
  92.       else
  93.         @lunar_sprites[3].opacity -= 16
  94.         if @lunar_sprites[3].opacity <= 0
  95.           @warn_glow = true
  96.         end
  97.       end
  98.     else
  99.       @warn_glow = false
  100.       @lunar_sprites[3].opacity -= 16
  101.     end
  102.     if $game_switches[3]
  103.       if @ecl_count == 0
  104.         @lunar_sprites[0].opacity = [@lunar_sprites[0].opacity + 4, 255].min
  105.         @lunar_sprites[1].opacity = [@lunar_sprites[1].opacity - 4, 1].max
  106.         @lunar_sprites[2].opacity = [@lunar_sprites[2].opacity - 4, 1].max
  107.         if @lunar_sprites[0].opacity == 255
  108.           @ecl_count = 1
  109.         end
  110.       elsif @ecl_count == 1
  111.         @lunar_sprites[1].opacity = [@lunar_sprites[1].opacity + 4, 255].min
  112.         @lunar_sprites[0].opacity = [@lunar_sprites[0].opacity - 4, 1].max
  113.         @lunar_sprites[2].opacity = [@lunar_sprites[2].opacity - 4, 1].max
  114.         if @lunar_sprites[1].opacity == 255
  115.           @ecl_count = 2
  116.         end
  117.       elsif @ecl_count == 2
  118.         @lunar_sprites[2].opacity = [@lunar_sprites[2].opacity + 4, 255].min
  119.         @lunar_sprites[0].opacity = [@lunar_sprites[0].opacity - 4, 1].max
  120.         @lunar_sprites[1].opacity = [@lunar_sprites[1].opacity - 4, 1].max
  121.         if @lunar_sprites[2].opacity == 255
  122.           @ecl_count = 0
  123.         end
  124.       else
  125.         @lunar_sprites[0].opacity = [@lunar_sprites[0].opacity + 16, 255].min
  126.         @lunar_sprites[1].opacity = [@lunar_sprites[1].opacity - 16, 1].max
  127.         @lunar_sprites[2].opacity = [@lunar_sprites[2].opacity - 16, 1].max
  128.         if @lunar_sprites[0].opacity == 255
  129.           @ecl_count = 1
  130.         end
  131.       end
  132.     else
  133.       for sprite in @lunar_sprites
  134.         sprite.opacity -= 16 if @lunar_sprites.index(sprite) < 3
  135.         @ecl_count = 3
  136.       end
  137.     end
  138.   end
  139. end
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-6 00:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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