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

Project1

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

[已经解决] 为什么显示数值会卡??

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
2 小时
注册时间
2010-7-9
帖子
31
1
发表于 2010-7-24 10:50:08 | 显示全部楼层
例如要描绘$game_variables[1](变量1号)
  1. def update
  2.   #——如果变量1号和记录变量不相同 也就是说变量1号发生了改变
  3.   if @spring_variable != $game_variables[1]
  4.     @spring_variable = $game_variables[1] #——记录
  5.     refresh #——描绘
  6.   end
  7. end
复制代码
大概写法就是这样。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
2 小时
注册时间
2010-7-9
帖子
31
2
发表于 2010-7-24 11:04:57 | 显示全部楼层
  1. def update
  2.   if @spring_hp != $game_party.actors[0].hp or @spring_sp != $game_party.actors[0].sp or @spring_exp != $game_party.actors[0].exp
  3.     value_x = -188
  4.     actor = $game_party.actors[0]  #主角
  5.     draw_2hp(actor, 209 + value_x, 8) #生命条
  6.     system_picture(0,0)
  7.     draw_hp_background(0 + value_x,0)    # HP底图
  8.     draw_mp_background(312 + value_x,8)  # MP底图
  9.     draw_hp(actor, 209 + value_x, 8) #生命条
  10.     draw_mp(actor, 312 + value_x, 8) #能量条
  11.     draw_map_exp(actor, 246 + value_x, 29)   #经验条
  12.     @spring_hp = $game_party.actors[0].hp
  13.     @spring_sp = $game_party.actors[0].sp
  14.     @spring_exp = $game_party.actors[0].exp
  15.   end
  16. end
复制代码
这样应该就不会卡了~~

卡的原因主要是因为每一帧都描绘。所以通过判断和记录,等到数值改变的时候才描绘,那么内存的压力就会减少很多。一般数值需要随时改变的,都需要用这个方式。

评分

参与人数 1星屑 +700 收起 理由
IamI + 700 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-7 20:04

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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