Project1

标题: 怎样让对象直接变身》?? [打印本页]

作者: 九夜神尊    时间: 2012-8-2 21:38
标题: 怎样让对象直接变身》??
本帖最后由 九夜神尊 于 2012-8-2 21:41 编辑

别被标题迷惑了,这不是事件变身!!

如下
a = A.new
b = a
c = a
……

这样A.new 可能有好多变量指向它

这时候,如果想要A变成B.new

如果是用a = B.new

这样虽然能实现,但是很有局限性。我无法直接获知有多少变量指向A,也不推荐吧所有的变量找到然后更改指针?

求,怎么样直接更改A变成B??
作者: 狱冥幻翼    时间: 2012-8-2 22:11
a = B.new尽量往后放……
作者: 九夜神尊    时间: 2012-8-3 14:28
为什么没有回复呢??
作者: 九夜神尊    时间: 2012-8-15 13:34
再次顶起,希望有人回答
作者: harinlen    时间: 2012-8-15 19:54
什么意思啊?指向?从你这三句话里完全没有看出所谓的指针。
而且,这样赋值以后,就算是a=B.new了以后,所有的变量要想和A同步的话,那也没有任何意义啊?同步后变量b和c也都是B.new啊。
要是非要同步的话,那还这能是把所有"指针"找出来然后再赋值,就RGSS3有自己的函数也要这么做,与其调用不如自己写一个def来的快。

能够向回找的数据结构应该就是树和双向链表了。。。
作者: 九夜神尊    时间: 2012-8-15 20:05
其实原本我也是用在树上的东西。
本来打算树分为端点和节点。随着数据的变动有时候端点会改成节点,反之。
由于端点和节点是不同的对象,如果要改变,只能在父节点内找到该对象,然后进行新的赋值。
老实说这样找起来感觉效率蛮低的,况且这只是我说的一种简单的情况。
如果是在网状的结构上,需要改变其中一个对象,岂不复杂?
我想问一下是否有直接的办法,当然如果没有的话就寻求别的结构方法了。




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