![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
leeshaoqun
这个作者很懒,什么都没留下…
展开
-
完成了第一个android游戏《趣味象棋》
<br />游戏中用了一个Activity主框架,在进入不同场景时再去调用不同的surfaceview<br />在整个游戏的开发过程中发现AI的设计是最难的,看来要加强算法的学习啊。<br />美工也是比较头痛的问题,图片都是用ps平平凑凑做出了的。不多说了,上截图<br /><br /><br /><br />【趣味象棋apk下载 】原创 2010-09-09 17:46:00 · 1048 阅读 · 0 评论 -
控制游戏中物体的移动速度
<br /> <br />最近在开发TD游戏中发现,游戏中移动的物体,在android模拟器和真机上差别比较大。<br />例如模拟器上FPS=10,真机上FPS=50,那么模拟器上的物体移动速度就会很慢,而真机上却跑得很快。<br />怎样才能让物体的移动速度不受机器性能的影响呢?其实也比较简单,只要给物体一个移动速度(带方向),然后记录上一帧和当前帧的时间间隔,乘0.001换算成秒。<br />移动速度 * 时间间隔 ,就得出每帧物体需要移动的距离。这样在性能较好的机器上,每帧的时间间隔会比较短,在同样原创 2011-03-15 10:08:00 · 2568 阅读 · 1 评论 -
游戏开发中的数学和物理算法(6):圆和球的碰撞检测
<br /> <br />1.圆的碰撞检测<br />圆的碰撞条件:<br />当两个圆相切或者相交时,我们认为两个圆应该开始发生碰撞。<br /><br /><br />数学表示:<br /><br />计算机中的实现:<br />bool CollisionBetweenCircles(circle c1,circle c2) { bool hit; float distanceOfCenter=sqrt(pow((c1.center.x-c2.center.x),2)+转载 2011-03-06 21:17:00 · 1604 阅读 · 0 评论 -
游戏开发中的数学和物理算法10-18
<br /> <br />1.标量<br />标量只有大小没有方向。<br />2.矢量<br />矢量既有大小又有方向。<br />3.常用举例:<br />物理上常用的矢量与标量的对应概念有:速度和速率;距离和位移等。如图:<br /><br />距离:<br />假设A到B的距离为a,B到C的距离为b,C到D的距离为c;<br />那么A到D的距离就为a+b+c。<br />位移:<br />假设A到B的位移为a,B到C的位移为b,C到D的位移为c;<br />那么A到D的位移大小为|a+b+c|(数转载 2011-03-06 22:45:00 · 6622 阅读 · 0 评论 -
游戏开发中的数学和物理算法(7):角度 vs 弧度
<br />我们通常使用的笛卡尔坐标系统,角点通常在(0,0),即原点。初始边在x轴正半轴,终边与初始边成夹角。<br />初始边逆时针旋转为正值,顺时针旋转为逆值。<br /> <br /><br />数学表示:<br />角度:degree=radian*180/π<br />弧度:radian=degree*π/180<br />π≈3.141592654<br />例如:120◦转换为弧度为2π/3<br />计算机中的实现:<br />#define RadToDeg 5转载 2011-03-06 21:18:00 · 1485 阅读 · 0 评论 -
游戏开发中的数学和物理算法(5):圆(2D)和球(3D)
<br /> <br />1.圆(2D)<br />圆的两个关键因素:圆心和半径。<br />公式:<br />(x–h)2 + (y–k)2 = r2 圆心为(h,k) 半径为r.<br /><br />举例:圆心为(1,2),半径为2的圆。<br /><br /><br />计算机中的实现:<br />struct circle { Point2D center; float radius; } <br /><br />2.球(3D)<br />球的两个关键因素:球心和半径。转载 2011-03-06 21:16:00 · 1581 阅读 · 0 评论 -
游戏开发中的数学和物理算法(4):抛物线
<br /><br />抛物线<br />如果你投掷一个铅球或者踢足球,它们将做一个抛物线运动。因为它们总是受一个垂直于地面的重力加速度g的作用。下图为四个方向上的抛物线。<br /><br /><br />公式:<br />垂直轴向上的抛物线:y=a(x–h)2+k, 顶点为(h,k),关于x=h对称.<br />水平轴向上的抛物线:x=a(y–k)2+h, 顶点为(h,k),关于y=k对称.<br />举例:<br />转载 2011-03-06 21:13:00 · 2049 阅读 · 1 评论 -
游戏开发中的数学和物理算法(9):三角代数
<br /><br />三角代数里的公式推理思路都是通过单位圆来完成的。<br />在单位圆中有x2+y2=1。下图为一单位圆:<br /><br />推论出的公式:<br />cos2a + sin2a = 1<br />sin(–a) = –sina<br />cos(–a) = cosa<br />tan(–a) = –tana<br /><br />sin(a1 + a2) = sina1cosa2 + cosa1sina2<br />sin(a1 – a2) = sina1cosa2 – cosa转载 2011-03-06 21:20:00 · 1466 阅读 · 0 评论 -
游戏开发中的数学和物理算法(3):点之间的距离
<br /> <br />1.计算两点之间的距离<br />公式:a2+b2=c2(勾股定理)<br /> <br />2D:<br /><br />3D:<br /><br />计算机实现:<br />float Distance2D(Point2D p1,Point2D p2) { float dx=p1.x-p2.x; float dy=p1.y-p2.y; float distance=sqrt(pow(dx,2)+pow(dy,2)); re转载 2011-03-06 21:12:00 · 1392 阅读 · 0 评论 -
游戏开发中的数学和物理算法(8):三角函数
<br /><br />三角函数在计算机游戏开发中是经常被用到的。<br /><br />主要三角函数<br />sin a=b/c<br />cos a=a/c<br />tan a=b/a<br />其他三角函数<br />csc a=c/b=1/ sin a<br />sec a=c/a=1/ cos a<br />cot a=a/b=1/ tan a<br /> 常用三角函数函数值表<br />a (Degrees)<br />a (Radians)<br /转载 2011-03-06 21:19:00 · 2099 阅读 · 0 评论 -
控制游戏中物体的移动速度
<br /> <br />最近在开发TD游戏中发现,游戏中移动的物体,在android模拟器和真机上差别比较大。<br />例如模拟器上FPS=10,真机上FPS=50,那么模拟器上的物体移动速度就会很慢,而真机上却跑得很快。<br />怎样才能让物体的移动速度不受机器性能的影响呢?其实也比较简单,只要给物体一个移动速度(带方向),然后记录上一帧和当前帧的时间间隔,乘0.001换算成秒。<br />移动速度 * 时间间隔 ,就得出每帧物体需要移动的距离。这样在性能较好的机器上,每帧的时间间隔会比较短,在同样原创 2011-02-27 00:22:00 · 1539 阅读 · 0 评论 -
我的第一个android应用 --《段子》
<br />学习android也有一段时间了,不过总觉得学得比较零碎,所以决定做个应用,把学到的知识做下整理。<br />我给这个应用取名《段子》,其实就是使用httpclient从网络上下载一些比较经典的段子,然后放到本地的数据库中,这是最主要的功能。<br />当然也做了一些细化的功能,如可以对喜欢段子进行加星收藏,不喜欢的段子进行删除。同时还提供了搜索功能,方便你快速查找段子。<br />最后使用的短信的intent,方便把段子和你好友分享。 <br />功能就这么多,下面有截图和apk包下载:<br原创 2010-09-08 09:35:00 · 758 阅读 · 0 评论 -
塔防游戏《android防御战》上线了
<br /><br />这段时间一直在学习andengine,并开发了一款塔防游戏《android防御战》,<br />算是能学以致用 :)<br />下面是对游戏的介绍,有兴趣的朋友可以下来玩玩看<br />二维码:<br /> Android世界正遭受来自不同种族敌人的侵扰,你要借助android魔法塔的力量来设置防御设施,抵御敌人的入侵。<br />游戏采用传统的塔防玩法,包括6大场景,7种魔法塔,12个有趣的关卡。你可以购买不同类型的魔法塔,并决定他们的摆放的位置,升级顺序等.<br />7种魔法原创 2011-04-30 12:57:00 · 1243 阅读 · 1 评论