基于jQuery的一个“射日”小游戏

本文介绍了一个基于jQuery开发的移动端射箭小游戏,包括目标物渲染、障碍物飞行、中箭效果判定等核心功能。游戏通过随机生成目标和障碍物,利用CSS transition控制飞行效果,并设置定时器清除过期对象。中箭效果通过计算弓箭与目标的夹角判断。文章还探讨了为何未使用canvas以及对游戏体验的影响。
摘要由CSDN通过智能技术生成

写在最前

本次的分享是一个基于jQuery实现的一个移动端射箭类小游戏。主要实现了目标物、障碍物的随机渲染,以及中箭效果的判定等。
欢迎关注我的博客,不定期更新中——

效果预览

game.gif
game.gif

点我查看源码仓库

主要结构规划

...
//基础属性
defaultOption = {}

//绘制整体画面
function drawGame(defaultOption){}

//障碍物、目标物类
function Hinder(){} 
Hinder.prototype.xxx
function Target(){} 
Target.prototype.xxx

//循环渲染 
function eventLoopHinder(){} 
function eventLoopTarget(){} 

//过期去除障碍物、目标物
function clearHinder(){} 
function clearTarget(){} 

//触摸射箭事件监听
function touchEvent(){}
...

通过以上的结构划分及效果图的展示我们可以大概了解到,这个游戏主要涉及的三个较为关键的地方就是:

  • 目标物的渲染
  • 障碍物的飞行
  • 定时清除过期对象
  • 中箭效果的判定
  • 箭射到对象身上

故接下来作者会介绍下实现思路,至于具体细节有兴趣的同学可以在issues下交流。

目标物的渲染

对于目标物作者用了下面的类来表示:

//以下代码只作为例子说明,与源码有较大删改
//为了方便表示 random 为一个假想的随机值
function Target(id, nowTime, width, score, x, y, time) {
    this.id = id //i
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值