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

Project1

 找回密码
 注册会员
搜索

[已解决]为什么bitmap有的地方需要Sprite类来加载,有些地方...

查看数: 2993 | 评论数: 4 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-4-24 22:30

正文摘要:

本帖最后由 miantouchi 于 2019-4-25 15:01 编辑 为什么bitmap有的地方需要Sprite类来加载,有些地方不用? 什么地方用 @sprite = Sprite.new @sprite.bitmap = RPG::Cache.title($data_system.title_name) 有些 ...

回复

灯笼菜刀王 发表于 2019-4-25 10:29:37
本帖最后由 灯笼菜刀王 于 2019-4-25 10:34 编辑

第一个bitmap, 它是标准的精灵显示法

第二个bitmap, 注意这个类, 他的爷爷就是sprite (它的老爸在F1里=.=)

第三个bitmap, 它是被窗口contents 显示的, 而window类, 在F1的第一句话是这个: 窗口的类,内部由大量精灵组成

所以, 你提到的这三个确实都是sprite加载的, 毫无疑问

点评

这样最好,就这么办,以前都懵了不知道什么时候用什么样的,太深的理解也不透,会用就好。  发表于 2019-4-25 15:00
要硬记的话, 就记住, 默认状态下RGSS有两种图片显示的方式, 1, 用精灵,加载sprite.bitmap, 2,在窗口的contents里用blt加载bitmap  发表于 2019-4-25 14:25
不一定哦,sprite_battle和sprite_map就不是Sprite的子孙, 它这里一样要按规矩来=v=, 而Window类也可以绑上Sprite, 比如,以前我给你看过的图片光标就是  发表于 2019-4-25 14:17
Sence_xxx 类里面是不是都必须写@sprite = Sprite.new Sprite_xxxx和Window_xxxx类里面就不用 这么记可以吗  发表于 2019-4-25 13:13
明白了!  发表于 2019-4-25 13:12

评分

参与人数 2星屑 +90 +1 收起 理由
RyanBern + 90 认可答案
guoxiaomi + 1 我很赞同

查看全部评分

guoxiaomi 发表于 2019-4-25 00:32:51
F1里提到,Window类的@contents属性是Bitmap对象,这个Bitmap对象无需被Sprite加载就可以直接显示出来。
KB.Driver 发表于 2019-4-24 22:46:16
https://rpg.blue/thread-476294-1-1.html

摘录:
位图(Bitmap)就像胶卷相机拍照后留下来的胶卷,我们没办法直接看。
而精灵(Sprite)则是一个放映机,当你把胶卷交给它,它就把胶卷投射到屏幕上。
sprite.bitmap就是sprite这台放映机现在放映着的胶卷,它一开始是空的。
当我们把sprite的bitmap设置为goddess_bitmap后,sprite就把变化后实实在在的 “胶卷”投射到屏幕上了。

点评

现在回头来看这个帖子,解释的非常到位。  发表于 2021-4-6 08:52
差不多明白了,Sence_xxx 类里面是不是都必须写@sprite = Sprite.new Sprite_xxxx和Window_xxxx类里面就不用  发表于 2019-4-25 11:00
能详细说说吗?  发表于 2019-4-25 07:41
我的意思是,每一个Bitmap对象一定会绑在Sprite对象上。不需要用到Sprite.new的场合就说明Sprite已经事先生成了  发表于 2019-4-24 23:47
深刻记得bitmap是胶卷,离开了Sprite不可以  发表于 2019-4-24 23:13
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2025-7-19 18:13

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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