ayo开发笔记2016-5-3

昨天调整了annimatedAnnotation的大小,并且制作了一个爆炸效果,遇到的问题是,userLocation自己的图片的大小调节,今天首先想把这个问题解决了。

高德地图的annimatedAnotation动画的显示

(void)updateImageView
{
    AnimatedAnnotation *animatedAnnotation = (AnimatedAnnotation *)self.annotation;
    
    if ([self.imageView isAnimating])
    {
        [self.imageView stopAnimating];
    }
    
    self.imageView.animationImages      = animatedAnnotation.animatedImages;
    self.imageView.animationDuration    = kTimeInterval * [animatedAnnotation.animatedImages count];
    self.imageView.animationRepeatCount = 0;
    [self.imageView startAnimating];
}`

这个函数是封装在了AnimatedAnnotationView里边,我想达到的效果是,可以加载动画帧的精灵图,配置大小,动画播放次数,所有的这些配置我都封装在了animatedAnnotation中,这样,annotationView可以读取annotation中的文件进行动画显示



2016.5.2
*ipad进入游戏,初始化地图crash,只在ipad上重现,发现问题在:

if ([info objectForKey:@"DisplayName"] == UserName) {
                    continue;
                }
这一段,在ipad上,即使字符串相同,也不会走进分支。。。
目前还没有搞清为什么,现在的解决是用:
if ([[info objectForKey:@"DisplayName"] isEqualToString:UserName]) {
                    continue;
                }
问题没有发生

不过这个问题,和后来的双机调试,暴露了一个问题,就是在初始化画地图的时候,服务器发过来的玩家信息是没有经纬度的,目前的临时解决是特殊判断如果经纬度是null,则赋值为0,之后再在playerUpdate上更新,之后一个比较好的解决方式应该是加入游戏后,引导玩家进入游戏区域,进入等待区,这个时候,开始发送玩家位置,服务器判断所有玩家都有发送位置后,开始游戏,不过目前来说问题不大


*加入玩家在游戏开始后无法跳转进入游戏页面,问题原因是onGameStart callback同事用于了点击start button和广播,但是两个callback的判断是不一样的,解决方式是点击button的callback中什么都不做(以后可以做一些状态判断)host和player都等待广播的消息后,启动游戏
posted @ 2016-05-03 06:04  thugasin  阅读(165)  评论(0编辑  收藏  举报