作者m87145999 (blue_sky)
看板MacDev
标题[问题] 两个class之间互动问题
时间Tue Jun 18 23:30:37 2013
最近在写小游戏-丢垃圾(图-可拖曳)到垃圾桶(图-不可拖曳)
丢到垃圾桶时会加分
遇到一点问题,困扰许久
正常来说把垃圾丢到垃圾桶时会加分并将分数写在计分板上
不过我写来写去计分的变数有收到,却无法写在计分板上
以下是程式码
GameViewController是我主要元件的class
dragView是拖曳图片动作的class
/*dragView*/
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
BOOL find = NO;
GameViewController *ccc =[[GameViewController alloc] init];
for (UIImageView *view in [[self superview] subviews]) {
if (view.tag != -1 && CGRectIntersectsRect(dragView.frame, view.frame))
[view setBackgroundColor:[UIColor clearColor]];
[dragView removeFromSuperview];
[ccc setScoreLabel];//设定计分板
find = YES;
}
}
if (!find) {
[self returnAnimation];
}
}
/*GameViewController*/
- (void)setScoreLabel{
score += 100;//有执行到这一行
ScoreLabel.text = [NSString stringWithFormat:@"%d",score];//却没执行这一行
}
有大大知道为什麽会这样吗?
--------------------------
以下是我的code
http://ppt.cc/SlUz
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.172.129.31
1F:推 Piceman:我猜是dragview 呼叫了自己的CCC而不是画面上的那个 06/19 00:33
2F:→ m87145999:可是dragView中我没有写ccc的程式,而且在 06/19 00:57
3F:→ m87145999:GameViewController中我还特地用个按钮来检查score 06/19 01:00
4F:→ nobody1:用膝盖猜是 referencing outlet 没拉 06/19 01:37
5F:→ m87145999:以下是我设定的Referencing Outlets.@property (strong, 06/19 02:04
6F:→ m87145999:nonatomic) IBOutlet UILabel *ScoreLabel; 06/19 02:04
7F:→ m87145999:有连接到ScoreLabel,还是我有设定错(? 06/19 02:05
8F:→ QuakeRz:*ccc 出了 touchedEnd 後 reference counting 还在? 06/19 05:18
9F:→ QuakeRz:*ccc 的生命周期是不是只存在这个 method? 06/19 05:20
10F:推 charlesdc:ccc的实体一直产生 且且没看到你有把 ccc加进view里面 06/19 09:24
11F:→ charlesdc:那请问你的ccc 的label是拉去哪了呢? 06/19 09:25
12F:→ m87145999:Q大所说的是Score的值还在?还在,ccc只存在那个method 06/19 11:16
13F:→ nobody1:REFERENCING左侧的圆 是实心的圆 还是空心的圆? 06/19 11:16
14F:→ nobody1:另外 同意一楼的看法 你得用UIAPPLICATION DELEGATE 06/19 11:20
15F:→ nobody1:去找到你要的那个viewcontroller 再去呼叫他 06/19 11:21
16F:→ nobody1:你每次计算分数 都是init一个新的view controller 06/19 11:21
17F:→ m87145999:c大,不太懂加进view的意思?我的想法是他会呼叫ccc 也 06/19 11:26
18F:→ m87145999:就是GameViewController中setScoreLabel的方法 06/19 11:27
19F:→ m87145999:然後由setScoreLabel来将score加分并显示。 06/19 11:28
20F:→ m87145999:n大...我没有画圆Q_Q,delegate的方法看不太懂说... 06/19 11:32
21F:→ nobody1:@property (strong ... 的左侧工作区 会有个圆 06/19 11:43
22F:→ nobody1:有点像是scrollbar的那一区 (隔空抓药开始) 06/19 11:44
23F:→ m87145999:呵呵 是那个圆阿,抱歉误会了...他是实心的 06/19 11:46
※ 编辑: m87145999 来自: 1.172.129.31 (06/19 15:13)