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

Project1

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

[已经过期] 【又是图片】请问用精灵建立图片如何改变图片位置

[复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
4 小时
注册时间
2018-10-6
帖子
3
跳转到指定楼层
1
发表于 2018-10-19 22:17:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
尝试用a.x=1
a.y=2(如果变量等于几怎样怎样)
这种来写,但是失败了。虽然是同一个精灵但是精灵会建立两次?后面发现第一次的图片会消失,但是要过一段时间。
也就是说,处理时间过长?
以及,不管用全局变量还是局部变量都会这样
求教!

Lv4.逐梦者

梦石
0
星屑
8498
在线时间
775 小时
注册时间
2017-11-10
帖子
1231
2
发表于 2018-10-19 22:40:35 | 只看该作者
@background = Sprite.new
@background.bitmap = RPG::Cache.picture("文件名")
@background.x = 100
@background.y = 100
@background.z = 100
不考虑实例变量吗?
一个只会简单事件的Rm新人,脚本完全不懂。只求做个简单的游戏完成自己的游戏之梦而已。
第一个游戏已经完成,等待各素材的完成和测试。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
4 小时
注册时间
2018-10-6
帖子
3
3
 楼主| 发表于 2018-10-19 22:58:32 | 只看该作者
文雅夕露 发表于 2018-10-19 22:40
@background = Sprite.new
@background.bitmap = RPG::Cache.picture("文件名")
@background.x = 100

并不是没有考虑。但是我想做出一种按下方向键图片改变坐标的方法。
以前用的是显示图片,脚本中因为先前背景图用的是精灵,所以索性也用精灵了。目前有一种蠢方法,就是按下方向键改变变量,然后刷新,判定变量
然后改变坐标。但是。。这样改变坐标确实可以重新显示图片。但是!先前的图片不会消失!(会消失的,但是要过好久才行)我先写了一句nil
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
14048
在线时间
2070 小时
注册时间
2016-9-20
帖子
844
4
发表于 2018-10-19 23:34:18 | 只看该作者
@background = Sprite.new if @background == nil #这样Sprite的指針就不会變化了, 你这样不管的話会生成一个新指針, 所以舊有的会消失
内容仅供参考,
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
37789
在线时间
5399 小时
注册时间
2006-11-10
帖子
6546
5
发表于 2018-10-20 15:03:58 | 只看该作者
本帖最后由 灯笼菜刀王 于 2018-10-20 15:06 编辑

猜测你是这样写的
a = Sprite.new
a.x = 5

然后,移动坐标的时候,这样写
a = Sprite.new
a.x = 10

对吧?

这样写的话, 虽然你用的是同一个变量,但是却会重复生成新的精灵, 前一个精灵没update所以隔一段时间后自己消失

要移动同一个精灵的坐标, 不需要再次生成 sprite 实例, 直接调用变量坐标就可以了,
a.x = 10
这样写就OK

注意调用不在同一个方法内的话, sprite的变量要使用实例变量或者全局变量
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
19284
在线时间
3074 小时
注册时间
2013-1-11
帖子
1288
6
发表于 2018-10-20 15:37:32 | 只看该作者
变量A = A实例对象
变量A = B实例对象
变量A指向B实例对象,那A实例对象没被指着了,GC会一段时间后自动回收掉没任何引用的对象
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-25 18:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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