Project1

标题: 新手刚接触代码 想做一个关于图片变色的代码 请问该怎么做 [打印本页]

作者: 071010    时间: 2019-6-17 13:28
标题: 新手刚接触代码 想做一个关于图片变色的代码 请问该怎么做
具体来说就是 想要在人物状态栏 或者别的地方有一个图片
我想让这个图片的部分(或者是全部也行) 能随着游戏内的变量改变颜色 深度 最好还有色调什么的
请问能够实现吗?
要是能实现,我又该准备什么。
请大佬告知 谢谢
作者: hyrious    时间: 2019-6-17 14:42
刚接触代码到底是接触了多少…… 那我从头列几个点吧



当然了,如果你懒得学,还可以发布悬赏贴之后把需求描述清晰一些,应该会有人现场给你写好(x
作者: 071010    时间: 2019-6-18 13:24
hyrious 发表于 2019-6-17 14:42
刚接触代码到底是接触了多少…… 那我从头列几个点吧

谢谢提供了思路 我去研究下
作者: antilmid    时间: 2019-6-18 13:41
首先你需要一个画笔,我们亲切的叫他“Bitmap”,这时候你需要一个容器去装你的画,主要是方便控制,但不能成为画布,我们叫他“Sprite”,你的目标就是把画渲染到画布(也就是所谓的屏幕),你需要内置的“Graphic.update”这个是更新你的画作。那么你要变色最主要的操作都落在画笔上,你可以通过Bitmap提供的逐一像素勾勒来进行变色,也可以用通过矩形填色然后设置透明的来实现。此外,还有更简单的,就是在“sprite”这个级别上操作,sprite它本身给你提供了色调和混色的操作。
作者: ppspssss    时间: 2019-6-18 17:54
本帖最后由 ppspssss 于 2019-6-18 17:56 编辑
hyrious 发表于 2019-6-17 14:42
刚接触代码到底是接触了多少…… 那我从头列几个点吧


雖說新手就該學这些先, 但我們老手开始學也始乎不是先學这些,难免先學其他較為有趣的功能
作者: ppspssss    时间: 2019-6-18 19:59
本帖最后由 ppspssss 于 2019-6-18 20:00 编辑

我說一下我的方法
首先从F1搜色調得知Tone是色調的關鍵字
腳本合集里找到显示图片方法,找到show的關鍵字,那么就進入腳本里搜show
$game_screen.pictures[图片编号].show("图片名字", 原点, 画面x坐标, 画面y坐标, x轴放大率, y轴放大率, 不透明度, 显示方式)

看到其实有Tone不过RMXP不把他出来用,那么可以在下方插入一个def(方法)

RUBY 代码复制
  1. def 变色
  2.     a = $game_variables[1]
  3.     case a
  4.     when 1
  5.     @tone = Tone.new(220,20,60, 155) #紅
  6.     when 2
  7.     @tone = Tone.new(100,149,237, 155)#籃
  8.     when 3
  9.     @tone = Tone.new(152,251,152, 155)#綠
  10.     end
  11.     @tone_target = Tone.new(0, 0, 0, 0)
  12.     @tone_duration = 0
  13. end

Tone里的前三位输入RBG(可参考网上的RPG配色表),第四位输入灰度,255为最灰
你可以新增when ,来增加数字,对应该颜色你来设定

这样就能在事件里用了.

比如想1号图片变色,就先设定1号变量

比如 变量1 = 1
$game_screen.pictures[1].变色
然后图片变紅色就成功





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