Box2d是一个2D游戏物理引擎,由Erin Catto开发,于2007年发布。很多2D游戏都用过Box2d,其中最有名的自然是愤怒的小鸟。Box2d本身是C++编写,但在不同平台都有它的衍生版本,像Flash版的Box2dFlash,JS版的Box2dJS和Box2dWeb。最近偶然看到一篇使用Box2dFlash模拟箭矢飞行效果的文章:

很有意思,想尝试使用下Box2d。

之前从没接触过Flash,选择JS版的Box2d,而Box2dJS已经很久没更新,所以使用Box2dWeb重写箭矢飞行效果。

网上有不少Box2d教程,不过介绍其应用的多些。对于Box2d基本概念和原理,推荐阿蕉的博客,他将Box2d C++的系列教程译成中文。虽然C++和JS不同,但是Box2d原理是相通的,可以参考。

首先下载Box2dWeb

压缩包里只有四个文件,这里只需要Box2dWeb-2.1.a.3.min.js(也可以用Box2dWeb-2.1.a.3.js,方便了解Box2DWeb的各个函数)。

按照下面的目录结构创建各个文件即可:

|-js/

| |-Box2dWeb-2.1.a.3.min.js

| |-game.js

|-arrow.html

编辑arrow.html,引用javascript文件并创建一个canvas标签,代码如下:

Box2DWeb Test

python box2d模拟平抛运动_[HTML5]使用Box2dWeb模拟飞行箭矢相关推荐

  1. 二级java模拟软件_二级JAVA超级模拟软件

    无忧考吧二级JAVA超级模拟软件是无忧考吧为计算机的广大考生们推出的一款计算机二级java语言考试模拟的软件,用户通过模拟可以快速找出自己的不足,可以更好的进行复习,让你在考试中更加稳定的通过! 基本 ...

  2. python box2d模拟平抛运动_论述如何基于Box2D模拟星球重力效果

    作者:Emanuele Feronato 随着<Angry Birds Space>的问世,我想你定非常疑惑要如何通过Box2D模拟星球重力. 基本原理非常简单. 首先,太空没有重力,所以 ...

  3. [HTML5]使用Box2dWeb模拟飞行箭矢

    Box2d是一个2D游戏物理引擎,由Erin Catto开发,于2007年发布.很多2D游戏都用过Box2d,其中最有名的自然是愤怒的小鸟.Box2d本身是C++编写,但在不同平台都有它的衍生版本,像 ...

  4. python点阵显示数字_程序点滴001_Python模拟点阵数字

    尝试过很多编程语言,写过不少程序(当然,基本上都是些自娱自乐或给自己用的工具类的小玩意儿),逐渐认识到编写程序是一个不断完善.不断优化的过程--编程首先要有一个想法(目标),围绕这个目标形成最基本的功 ...

  5. java小球模拟平抛运动_实操项目跳跃的小球

    这是两个简单的小项目,产生两个在重力的作用下产生运动的自由落体的小球,模拟简单的自由落体和平抛运动,可以用在教学演示中 建立小球 import java.awt.Color; public class ...

  6. [HTML5]使用Box2dWeb模拟射箭效果并添加能量槽

    上次已实现箭矢的飞行效果,但是箭在碰到墙壁时直接反弹回来,像钢棍而不是箭.在Box2d中,可以利用关节(Joint)将箭和靶子连接起来,组成一个整体,实现射击效果.使用关节要在文件开头添加新的变量,方 ...

  7. python 秒切黄牌_按键精灵硬件模拟原理是什么?用python如何实现?

    这个我做过 简单来说下吧 软改是基于表面伪装修改需要安装框架之类的 硬改基于底层数据修改 不需要安装框架等更强大更强悍 使用权限 永久使用免费更新 高级版本安卓MTK 4G 手机硬件一键修改一键新机 ...

  8. python物理引擎模拟三体_三体世界的模拟

    1 '''三体问题求解及可视化,去掉了动图模块''' 2 '''Coworker:聂嘉颖,张瀚文''' 3 importnumpy as np4 from numpy importarange5 im ...

  9. java 模拟平台_用Java程序模拟登陆网站平台

    由于想测试性能,想模拟多个用户同时登陆系统进行访问,于是写了一个例子. 代码如下: URL url = null; HttpURLConnection httpurlconnection = null ...

  10. arduino 读取模拟电压_基础部分-读取模拟电压

    这个示例展示了如何用模拟引脚0来读取模拟输入,用analogRead()来转换电压数值,之后把这个值输出在编译器的串口监视器上. 硬件需求 -Arduino控制板 -10K电位器 电路 上面的接线图是 ...

最新文章

  1. oracle中创建触发器
  2. 没想到!大数据发现微信上使用最多的表情竟是...原谅很多人不知道
  3. JSP-03-实现数据传递
  4. MASK -RCNN
  5. 深入源码分析Java线程池的实现原理
  6. Item 14 In public classes, use accessor methods, not public fields
  7. python数值比较器_python笔记16(数据处理笔记1)
  8. C# winform 模拟选中并点击某一行DataGridView数据
  9. .NET 安全编程 阅读笔记(四)
  10. Word文档中快速插入分隔线的技巧_C#教程
  11. 《东周列国志》第七十七回 泣秦庭申包胥借兵 退吴师楚昭王返国
  12. Java 简单的韩信点兵问题
  13. 斐讯K2刷固件(支持v22.4.2.15以上)
  14. 罗格数据:生命周期动态模拟技术及其在税收领域应用初探 | 会员专栏
  15. 个人网站搭建,个人网站需要什么软件
  16. Android Studio 实现地图定位(移动开发技术作业)
  17. Git 常用命令练习
  18. 判断一个日期是一年中的第几天
  19. python hook pc微信_python实现微信跳一跳辅助工具步骤详解
  20. Windows下验证https证书

热门文章

  1. Selenium无法定位的6种解决方案
  2. 多选框的 全选 与 取消全选
  3. R语言数据分析之二-《R语言判断相关性-excel文件xlsx文件》
  4. 合宙 Air 724UG模组(4G Cat.1通信模组)测试过程
  5. linux虚拟文件系统proc
  6. 淘宝京东天猫电商运营每天都需要做什么?
  7. CNN | 01实现颜色分类
  8. 群智能算法(遗传算法, 粒子群算法, 蚁群算法原理与实例分析)
  9. Redis 过期策略都有哪些?
  10. spring boot添加redis过期策略