Project1

标题: 写脚本遇到的问题..想请教各位前辈... [打印本页]

作者: 文雅夕露    时间: 2018-3-20 20:06
标题: 写脚本遇到的问题..想请教各位前辈...
涉及了一帖多问的情况,这点很抱歉,但问题都很简短就不重复发帖提问了。
1.窗口下标志消除的方法。
当文字量大于窗口的大小时就会出现的标志。
像这样:

请问该怎么处理这个问题。
前提,不改变窗口的大小以及位图的大小。
修改
  1. self.windowskin = RPG::Cache.windowskin("nil")
复制代码

这方法也不行。
Rmxp内置方法的Window方法脚本没有在F1写到。

2.update播放Bgm会卡顿的问题。
如下:
def update
  1. @wait += 1
  2. if @wait == 180
  3. Audio.bgm_play("Audio/BGM/www",80,100)
  4. end
复制代码

@Wait == 180时播放BGM会卡顿一下,请问这个该怎么优化?

3.窗口ox,oy坐标该怎么设置为小数或者浮点数。
如下:
  1. def move_contents
  2.     @story_window.oy += Move_speed
  3. end
复制代码

Move_speed 取值为0.5时就没有效果,请问该怎么样让小数也能够支持?
作者: 失落的乐章    时间: 2018-3-20 21:02
本帖最后由 失落的乐章 于 2018-3-20 21:40 编辑


作者: 百里_飞柳    时间: 2018-3-20 21:22
3
不支持小数吧,又不是精灵的缩放
我一般是改成每几帧更新1像素,而不是每一帧更新0.几像素
作者: chd114    时间: 2018-3-20 22:53
如果你的内容的长宽超过了窗口的长宽,就会有那样的箭头提醒玩家后面还有东西
作者: 灯笼菜刀王    时间: 2018-3-21 00:16
本帖最后由 灯笼菜刀王 于 2018-3-21 00:21 编辑

1, 直接窗口皮肤上删掉右上角方框里的那4个小箭头就好了, 如果你其他地方要用到这个小箭头,那就做两份皮肤,一份有小标一份没有. 然后
self.windowskin = RPG::Cache.windowskin(skin + "2") 临时替换不需要小标的窗口皮肤.

2, 试试定义个新函数 def paly  然后在这个函数里塞上 Audio.bgm_play("Audio/BGM/www",80,100) ,然后UPDEAT里引用这个函数看看.

3, 0.5 要怎么画出半个像素啊囧, 如果觉得移动太快, 那就加上个等待嘛, if @Wait % 2 ==0,  这样原本一祯一像素的移动就变成2祯一像素了, 从视觉上看就慢了一倍咯.(不过XP有个问题, 勾选平滑模式后, 实际游戏每秒的帧数会比正常多,所以嘛............)

作者: cinderelmini    时间: 2018-3-21 14:34
大概有个比较蠢的办法解决问题3,
定义一个变量记录初始的oy值,之后操作这个变量做小数运算,
再将这个变量取整代入oy…………
  1.   def move_contents
  2.     @story_window_oy ||= @story_window.oy
  3.     @story_window_oy += Move_speed
  4.     @story_window.oy = @story_window_oy.to_i
  5.   end
复制代码

当然,上边这个做法不太妥当,
得在初始@story_window.oy的时候同时初始@story_window_oy才行,
而不要在这里仅赋值一次。
作者: Mr.Jin    时间: 2018-3-21 18:25
RUBY 代码复制下载
  1. # By Lanza Schneider
  2. class Window_Base
  3.   def ox
  4.     @fake_ox = super if @fake_ox.nil?
  5.     return @fake_ox
  6.   end
  7.   def oy
  8.     @fake_oy = super if @fake_oy.nil?
  9.     return @fake_oy
  10.   end
  11.   def ox=(value)
  12.     super value.to_i
  13.     @fake_ox = value
  14.   end
  15.   def oy=(value)
  16.     super value.to_i
  17.     @fake_oy = value
  18.   end
  19. end


你可以试一试这个,也许可以解决你ox oy小数的问题




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1