作者rangerssohot ()
看板C_and_CPP
标题[问题] 如何在两个class中共用一个物件
时间Fri Jun 7 23:37:35 2019
开发平台(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):
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 218.164.14.21 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1559921857.A.7CB.html
1F:→ thefattiger: 我觉得你最好把基本的语法先弄懂再来搞这些06/07 23:48
2F:→ thefattiger: 小精灵是唯一的话最简单的方法就是Sigleton Pattern06/07 23:50
因为我是跟同学一起去修资工的课 现在这个是期末project 虽然知道自己基础不好 但是
东拼西凑的也要把它弄出来@@
3F:→ CCWck: 你会写一个有argument的函数吗?把物件或是从物件得到的参06/08 00:36
4F:→ CCWck: 数放进去就好06/08 00:36
好的我试试看
※ 编辑: rangerssohot (223.139.113.187 台湾), 06/08/2019 01:48:39
5F:推 RishYang: class跟object要分清楚,object是class的实例 06/08 05:42
6F:→ RishYang: 意思是class是设计图,object是依据设计图造出的成品 06/08 05:43
7F:→ RishYang: 根据一张设计图,你可以造出n个看起来一模一样的成品 06/08 05:47
8F:→ RishYang: 但是那些成品都是独立的,个别成品都独立占有特定的时空 06/08 05:50
10F:推 mmmmei: 可以用connect,当小精灵位置变化的时候,传参数给每个鬼 06/08 11:55
11F:→ firejox: 你只要初始化的时候把小精灵传鬼给就好了吧 06/08 13:10
12F:推 CarbonK: 成大资讯系程设(二)齁 06/09 22:56
13F:推 HMKRL: 楼上助教 06/10 11:57
14F:推 CarbonK: 楼上也助教 06/10 13:27