[问题] 如何在两个class中共用一个物件

楼主: rangerssohot   2019-06-07 23:37:35
开发平台(Platform): (Ex: Win10, Linux, ...)
目前在Ubuntu上使用Qt
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
目前我正在写一个小精灵的游戏,其中有小精灵和鬼两个class(Pacman和Ghost)
在鬼的class里面,鬼要怎么走需要参考小精灵现在的位置(去追小精灵)
我现在在主程式MainWindow.cpp中new出小精灵和鬼,除了在视窗中显示出物件,
用键盘改变小精灵的方向和位置时也是用MainWindow的小精灵指到Pacman去做
为了在Ghost中也能使用到小精灵的位置,我在Ghost里也new了一个小精灵
但我想应该是因为两个小精灵不是同一个的关系,
现在Ghost里得到的小精灵的位置都是游戏初始给的位置
不会随着游戏中位置改变而跟着改变座标的值
请问有没有什么方法可以让Ghost.cpp和MainWindow.cpp共用一个小精灵的object?
麻烦大家帮忙了orz
喂入的资料(Input):
预期的正确结果(Expected Output):
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
https://reurl.cc/mQ0KM
上面这个连结是我在stackoverflow的发问
有附上部分比较重要的code
但是因为是第一次发问写不够清楚又不懂规定
目前被put on hold...(现在的问题内容有修改过)
另外我在那边问的是如何取得其他class中的变量
因为我一开始以为单纯是座标的值没办法传到Ghost.cpp里
但是看完下面那个回复,我想应该是两个class使用不同个小精灵的关系
指示还是不知道确切应该怎么做@@
补充说明(Supplement):
作者: thefattiger (LT)   2019-06-07 23:48:00
我觉得你最好把基本的语法先弄懂再来搞这些小精灵是唯一的话最简单的方法就是Sigleton Pattern
作者: CCWck (干嘛要暱称)   2019-06-08 00:36:00
你会写一个有argument的函数吗?把物件或是从物件得到的参数放进去就好
作者: RishYang (Rish)   2019-06-08 05:42:00
class跟object要分清楚,object是class的实例意思是class是设计图,object是依据设计图造出的成品根据一张设计图,你可以造出n个看起来一模一样的成品但是那些成品都是独立的,个别成品都独立占有特定的时空范例 https://ideone.com/M7qqoJ
作者: mmmmei (mmm煤)   2019-06-08 11:55:00
可以用connect,当小精灵位置变化的时候,传参数给每个鬼
作者: firejox (Tangent)   2019-06-08 13:10:00
你只要初始化的时候把小精灵传鬼给就好了吧
作者: CarbonK (HTYISABUG)   2019-06-09 22:56:00
成大资讯系程设(二)齁
作者: HMKRL (HMKRL)   2019-06-10 11:57:00
楼上助教
作者: CarbonK (HTYISABUG)   2019-06-10 13:27:00
楼上也助教

Links booklink

Contact Us: admin [ a t ] ucptt.com