OpenHarmony自制飞机大战(2)

画自己的飞机并让随着手指而移动

在上一集中,已经可以让敌机定时刷新并且可以飞起来了,接下来就是添加自己的飞机了,直接在代码里面定义一个Image组件上去,先瞅一眼自己的飞机长啥样儿

接下来就是得让自己的飞机随着手指的拖动而动起来了,思路很简单,给自己的飞机添加一个onTouch事件,当手指拖动时,就改变自己飞机的坐标值

简单起见,这里默认手指点的时候,默认拖动的是自己飞机的中心点,效果如下

自己的飞机大体已经完成,接下来就是画子弹了,子弹的原理跟敌机很类似,定时刷新子弹,定时更新每个子弹的y坐标,唯一不同的是,敌机的起始坐标的y轴只固定的,而子弹的起始坐标应该根据当前自己飞机的位置而设置,代码如下

这里要注意的是子弹的起始位置,y坐标的位置保持跟自己飞机的y坐标一致即可,而x坐标的位置应该是 飞机的x + 子弹宽度的一半 - 飞机宽度的一半,其他的就跟敌机的逻辑死一样的的,定时添加,定时更新y轴坐标位置,效果如下

判断敌机是否被击落

敌机已经出现,自己的飞机也能够打出子弹了,那么接下来就是将敌机击落了,思路也很简单,如果某一个子弹的坐标进入了其中一架敌机的坐标范围内,那么就代表着该敌机已经被击中了,被击中后,移除该子弹和敌机,即可

这里需要说明一下,子弹的素材是一个正方形,而真正的子弹可以想象成一个锥形体,它的头是尖的,只要子弹的尖碰到敌机,则认为敌机被击中,所以这里子弹的x坐标取了图片的中心点的位置。当子弹与敌机发生碰撞时,则移除该位置的子弹和敌机,效果如下

敌机已经可以被击落了,然后我们在添加一个分数统计,统计一下击落的敌机的数量,思路是,当敌机发生碰撞时,变量score增加一次

效果如下:

判断自己是否死亡

现在敌机已经可以狗带了,接下来就是自己狗带了,原理也很简单,跟敌机死亡类似,如果自己飞机的坐标与某一架敌机的坐标发生重合,则认为自己已经狗带,,相关代码如下:

本来是想着用四个坐标点的位置来判断是否发生碰撞的,后来发现,这种做法是在是太麻烦,后来采用另外一种办法,图片本来是正方形的,这里我们想象它是一个圆形的图片,然后采用一个简单的数学公式 \sqrt{(a1+a2)^2+ (b1+b2)^2} 来计算出圆心距,如果圆心距的长度小于敌机圆的半径+自己飞机原的半径,则认为发生了碰撞,效果如下

呃,gameover之后,只显示一个gameover太单调了,那就加个重新开始按钮上去吧

效果如下:

重新开始的业务逻辑就很简单了,更改游戏状态,敌机数组子弹数组全都清空,分数归零等就可以,相关代码如下

效果如下:

这集先到这里,下一集继续优化吧

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352

推荐阅读更多精彩内容