今天给大家分享一款基于html5和jquery的篮球跳动游戏。这款实例和之前分享的HTML5重力感应小球冲撞动画类似。用鼠标拖动篮球,篮球在页面上跳动,可在演示中看下效果。效果图如下:

在线预览   源码下载

实现的代码。

这个实例主要是js代码。js需要引用jquery和Phaser.js这两个库。页面上的js代码如下:

 (function () {
var w = window.innerWidth;
var h = window.innerHeight;
var game = new Phaser.Game(w, h, Phaser.CANVAS, '', {
preload: preload,
create: create,
update: update
});
var totalBalls = 8;
var balls, ballStartX, ballStartY, ballEndX, ballEndY;
function random(min, max) {
return game.rnd.integerInRange(min, max);
}
function preload() {
game.load.image('basketball', 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/74196/basketball.png');
}
function create() {
game.physics.startSystem(Phaser.Physics.ARCADE);
game.scale.scaleMode = Phaser.ScaleManager.RESIZE;
balls = game.add.group();
for (var i = 0; i < totalBalls; i++) {
setTimeout(function () {
var ball = balls.create(random(0, game.world.width), -100, 'basketball');
game.physics.arcade.enable(ball);
ball.scale.setTo(0.2, 0.2);
ball.body.velocity.x = random(-50, 50);
ball.body.gravity.y = 1000;
ball.body.bounce.y = 0.5;
ball.body.bounce.x = 0.5;
ball.body.collideWorldBounds = true;
ball.inputEnabled = true;
ball.input.enableDrag(true);
ball.input.start(0, true);
ball.events.onDragStart.add(grab, ball);
ball.events.onDragStop.add(toss, ball);
}, 200 * i);
}
}
function update() {
for (var i = 0; i < balls.length; i++) {
var thisBall = balls.getAt(i);
var vX = thisBall.body.velocity.x;
var vY = thisBall.body.velocity.y;
if (thisBall.body.bottom === game.world.bounds.bottom) {
if (thisBall.body.velocity.x > 0) {
thisBall.body.velocity.x = vX - 1;
} else if (thisBall.body.velocity.x < 0) {
thisBall.body.velocity.x = vX + 1;
}
}
}
}
function grab() {
ballStartX = this.body.position.x;
ballStartY = this.body.position.y;
this.body.moves = false;
this.body.velocity.setTo(0, 0);
this.body.allowGravity = false;
}
function toss() {
ballEndX = this.body.position.x;
ballEndY = this.body.position.y;
this.body.moves = true;
this.body.allowGravity = true;
var vX = (ballEndX - ballStartX) * 10;
var vY = (ballEndY - ballStartY) * 10;
this.body.velocity.setTo(vX, vY);
}
} ());

via:http://www.w2bc.com/Article/14341

基于html5和jquery的篮球跳动游戏的更多相关文章

  1. 基于 html5的 jquery 轮播插件 flickerplate

    https://github.com/chrishumboldt/Flickerplate 官网 <link href="${baseURL}/themes/default/css/f ...

  2. 精选7款绚丽的HTML5和jQuery图片动画特效

    在HTML5出现后,图片就变得更加富有动感了,各种图片动画特效也层出不穷,例如图片播放器.图片导航.3D图片动画等等.本文将精选几款具有代表性的HTML5和jQuery图片动画特效,绚丽的画面.实用的 ...

  3. 基于HTML5+CSS3的图片旋转、无限滚动、文字跳动特效

    本文分享几种基于HTML5+CSS3实现的一些动画特效:图片旋转.无限滚动.文字跳动;实现起来均比较容易,动手来试试! 一.图片旋转 效果图如下: 这个效果实现起来其实并不困难.代码清单如下: < ...

  4. 基于HTML5 audio元素播放声音jQuery小插件

    by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1609 一.前面的些唠 ...

  5. 基于HTML5实现的中国象棋游戏

    棋类游戏在桌面游戏中已经非常成熟,中国象棋的版本也非常多.今天这款基于HTML5技术的中国象棋游戏非常有特色,我们不仅可以选择中国象棋的游戏难度,而且可以切换棋盘的样式.程序写累了,喝上一杯咖啡,和电 ...

  6. 基于html5实现的愤怒的小鸟网页游戏

    之前给大家分享一款基于html5 canvas和js实现的水果忍者网页版,今天给大家分享一款基于html5实现的愤怒的小鸟网页游戏.这款游戏适用浏览器:360.FireFox.Chrome.Safar ...

  7. 基于HTML5实现五彩连珠小游戏

    今天给大家分享一款基于HTML5实现五彩连珠小游戏.这款游戏的规则:点击彩球移动到期望的位置,每移动一次,画面将随机出现3个新的彩球:当同一颜色的彩球连成5个一行或一列或一斜线时,这5个彩球同时消失, ...

  8. 一个酷炫的,基于HTML5,Jquery和Css的全屏焦点图特效,兼容各种浏览器

    基于HTML5和CSS的焦点图特效,梅花图案的背景很有中国特色,而且还会动哦,效果超炫,推荐下载! 演示图 html代码 <!DOCTYPE html PUBLIC "-//W3C// ...

  9. 基于HTML5的SLG游戏开发(序)

          2012年前后,HTML5游戏凭借跨平台.易移植.部署简单.节省成本等优点被炒的火热,经过一两年的快速发展,市场出现了一些成功地HTML5游戏产品,像磊友的<修仙三国>,神奇时 ...

随机推荐

  1. wifi连接android设备进行调试

    手机下载终端模拟器: 并输入例如以下$ su # setprop service.abd.tcp.port 5555 # stop adbd # start adbd 在cmd中输入adb conne ...

  2. Android -- ListView与ArrayAdapter、SimpleAdapter

    对于ArrayAdapter,里面虽然能添加图片,但只能是相同的图片. 废话不多说: 布局&&list的item布局                                   ...

  3. 解决 vs2010问题 error MSB8008: 指定的平台工具集(v110)未安装或无效

    一次编译程序时.出现故障 >------ 已启动生成: 项目: PhotoStore, 配置: Debug Win32 ------ 1>生成启动时间为 2013-01-15 18:10: ...

  4. Thinkpad X201 Gobi2000 上电信3G网络

    网上的教程大多有点小问题,许多都不完整,今天放出系统化.理论化的设置方法,附送上所有软件. 一.本教程适用范围:1.gobi 2000 正式版 FRU:60Y3263 (带MEID.IMEI)2.- ...

  5. Discuz常见小问题-如何设置QQ邮箱注册验证

    开启POP3/SMTP服务器,需要发送短信,然后点击我已发送,得到一个指定的密码   开启之后得到的授权码   开启IMAP/SMTP还需要发送一次短信,得到一个另外的授权码   然后在后台设置为下面 ...

  6. JAVA学习目录

    开发环境以及IDE准备相关: 1.JAVA环境搭建 2.初次使用IntelliJ IDEA 3.IntelliJ IDEA界面设置 4.IntelliJ IDEA快捷键介绍 SprintBoot系列: ...

  7. 软件开发工具GCC

    重点掌握以下知识点: 了解gcc编译器的下载和安装方法,包括嵌入式交叉编译平台搭建的方法 重点掌握gcc的基本编译流程和编译方法 重点掌握gcc编译的高级操作及选项 了解gcc编译器性能分析工具,包括 ...

  8. 算法笔记_142:无向图的欧拉回路求解(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 John's trip Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8 ...

  9. SqlServer聚合函数

    聚合函数对一组值计算后返回单个值.除了count(统计项数)函数以外,其他的聚合函数在计算式都会忽略空值(null).所有的聚合函数均为确定性函数.即任何时候使用一组相同的输入值调用聚合函数执行后的返 ...

  10. js&jquery避免报错的方法

      CreateTime--2016年12月8日15:28:40Author:Marydonjs&jquery规避报错信息的两种方式 <script type="text/ja ...