2013-01-05 12 views
1

我目前正在进行连接四个游戏。Android:颜色变化后触发器重绘

我的游戏按用户按'新游戏'按钮。然后绘制42(7 * 6)个绿色圆圈进行筛选。这些圆圈用来表示连接四个板上的孔,即绿色圆圈当前不包含玩家的令牌/计数器

在此刻,我正在努力添加令牌/计数器。我有代码工作(到某个点),使用户能够选择一列。使用log.d()看来我成功改变了差距的颜色值。我的问题是,我不知道如何将这种颜色变化发送到视图,即差距实际上是从绿色变为红色(玩家的令牌颜色)。

如何向View发送请求,以便重新绘制间隙?

N.B.对不起,缺乏代码,但它目前是凌乱的,并没有完全正常工作。 该视图由ConnectFourView.java(视图)控制,游戏画面是Board.java(模型)和代码,确定哪个列已被选中Gaps.java(控制器)

回答

3

只需拨打invalidate()就可以查看并将重绘

+0

现在只是阅读有关invalidate()的内容。我不是100%的工作。我相信invalidate()只能在视图中工作(所以我的情况是ConnectFourView.java)如何从Gaps.java(颜色值的更改完成)向View发送请求? – Dan1676

+0

我认为差距实例有一个ConnectFourView的参考,不是吗? –

+0

它的确如此。我试过connectfourview.invalidate();在改变颜色值之后的Gaps.java类中。返回一个错误 – Dan1676