android中怎样让一个动画在屏幕上随机移动,比如一只蝴蝶在屏幕上飞动,注意这个不是普通的给个坐标值来移动蝴蝶,而是让蝴蝶移动起来似乎有一个路径。不知道有没有什么好的思路和算法?

解决方案 »

  1.   

    最简单的办法就是根据时间做随机数 
    我几个例子吧,
    比如 蝴蝶有3个状态 
    1.等待
    2.平淡 
    3.兴奋
    等等程序可以根据随机数判断蝴蝶目前的状态 如果等待状态的话 蝴蝶就停在屏幕上 X Y 坐标不变平淡状态 蝴蝶可以有X Y坐标的改变 但是不明显兴奋状态 蝴蝶 X Y坐标改变非常明显 人工智能最重要的算法就是根据随机数去计算。。 
    希望可以帮到楼主!!!
      

  2.   

    首先,很谢谢你的回答,我昨天参考了一下iphone上的一个例子,它的大概算法是蝴蝶有个起始坐标,这个坐标是随机产生的,也就是说蝴蝶可以从屏幕的任意地方飞出来,然后有个目标坐标(该坐标与起始坐标大致形成一个对角线),在起始坐标和目标坐标之间的连线就是蝴蝶的飞动路径,只是在飞动的过程中,我们可以根据三轴传感器来改变蝴蝶的飞动方向(很多手机上没有陀螺仪传感器,这个地方要用加速度和重力传感器来模拟),然后在屏幕中间有个框框可以抓蝴蝶,只要蝴蝶飞到了这个框框上,我就可以甩动手机将其抓住(不甩动即使蝴蝶飞到框框中也不会被抓住),基于以上思路,有没有什么具体的算法可供参考?
      

  3.   

    这个是我写的一个重力感应的例子
    http://blog.csdn.net/xys289187120/article/details/6594576
    我觉得完全可以实现。
    你可以根据手机摇晃的频率 算出速度 和加速度 然后用公式就可以计算出来!
      

  4.   

    我想了一下 你可以每100毫秒 记录一下当前的时间 以及 X Y Z 信息 然后在对比一下上次的记录时间 和 X Y Z 信息  , 有了时间 和 路程  速度就可以算出来 !! 我觉得这个思路是没问题的。
      

  5.   

    加速度传感器获得的三个方向的值到底是加速度值还是位移值,就是values[0]等这三个