`
LiYunpeng
  • 浏览: 942679 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

关于Box2D加载 贴图 或者说加载 素材

阅读更多
最近在研究Box2D

研究这贴图之前,请一定要先搞明白一个HelloWorld,如果Box2D的HelloWorld都没看过的话,可能会不好理解

光是贴图就研究了很长时间

直接入题

目的 是想让游戏角色或者说动作与逻辑代码相分离

目前的看到网上的例子都是直接使用fla文件里面的MovieClip来实现
而这种情况下,使用这个角色对象的话,逻辑代码就要写到fla文件中或者是fla关联.as类文件

这样的话在纯AS代码来说不容易调试


如下是自己总结的解决方案
自己写的角色类用于调试,在不贴图的情况下,使用Box2D的showDebug可以方便的调试游戏,而又不影响调试和逻辑代码的使用

那么这个角色类要给予最基本的Sprite
里面存储一个Movie对象

我们通过Loader来加载外部的swf资源文件,这样实现资源文件 影片剪辑与代码的分离
我们通过loader来与角色类进行绑定
也就是
_resourceClass  =loader.contentLoaderInfo.applicationDomain.getDefinition(_symbol) as Class;
可以获取swf中定义的MovieClip对象类,然后创建他,并添加到这个角色类当中进行显示
body = new _resourceClass();
addChild(body);

这样还不够

说说最基本的Box2D

Box2D是通过b2BodyDef  也就是Body的定义类中的userData来实现贴图的
刚才我们做的动作只是来实现了一个角色的定义,我们需要通过这个来添加角色
bodyDef = new b2BodyDef();
bodyDef.userData = new XXXX();//创建角色对象
这里要注意,如果设置了userData的话,需要对他进行添加
在跟sprite中addChild(body.m_userData);
这样就实现了添加,不过这还没完

要想和box2d中的模拟对象和添加的素材角色对象同步运行,需要在
Event.ENTER_FRAME事件执行的方法中不断的重新做坐标

body.m_userData.x = body.GetPosition().x*30;
body.m_userData.y = body.GetPosition().y*30;
body.m_userData.rotation = body.GetAngle() * (180 / Math.PI);

这样就可以了实现逻辑代码与素材分离来制作了并且不会影响逻辑代码编写和调试
分享到:
评论

相关推荐

    Box2D 中文手册

    Box2D 中文手册,非常详细的Box2D文档,入门绝佳

    Box2d中文说明

    Box2d中文说明

    Box2D中文手册

    总的来说,Box2D中文手册是游戏开发者的宝贵资源,无论你是初学者还是有经验的开发者,都可以从中获得关于2D物理引擎的深入知识,提高你的游戏开发能力。通过学习和应用Box2D,你将能够创造出更加生动、真实的2D游戏...

    Box2d简介Box2d简介

    Box2D 简介 Box2D 是一个物理引擎,它提供了一个环境来模拟物理世界,用户可以在这个环境中创建形状、刚体、关节和碰撞器等对象,并对它们进行模拟和交互。下面将对 Box2D 的基本概念和数据类型进行详细的介绍。 ...

    Box2D+v2.1.0用户手册中文翻译

    Box2D是一个开源的2D物理引擎,广泛应用于游戏开发、模拟和教育领域。它以C++编写,但在多个平台...用户手册中文翻译文档对于初学者和有经验的开发者来说都是宝贵的资源,它详细解释了如何在AS3环境下有效地使用Box2D。

    Box2D_02_碰撞_box2D安卓快写代码_box2D_box2d碰撞_

    简单的box2D编程!快写c++代码软件

    box2D中文手册

    Box2D是一个开源的2D物理引擎,广泛应用于游戏开发、模拟和教育领域。这个“Box2D中文手册”提供了一套详细的指南,帮助开发者更好地理解和使用Box2D引擎。以下将详细介绍Box2D的基本概念、核心功能以及如何在实际...

    Box2D v2.3.0 用户手册中文版

    关于 Box2D Box2D 是由 Erin Catto 创建的开源物理引擎,于 2007 年首次发布。Box2D 的主要目的就是提供一个高性能、可靠、易于使用的物理引擎,用于模拟二维碰撞和刚体动力学。 Box2D 的特点 Box2D具有以下特点...

    Box2D 最新引擎

    Box2D是一款非常知名的开源2D物理引擎,广泛应用于游戏开发和模拟系统中。它为开发者提供了实现真实感物理效果的工具,如碰撞检测、刚体动力学等,让游戏中的物体运动更加逼真,增加了游戏的趣味性和挑战性。 Box2D...

    box2d flash 赛车游戏

    总的来说,通过对这个"box2d flash 赛车游戏"的分析,我们可以学到如何在Flash中集成Box2D,实现真实的物理效果,以及如何设计和优化赛车游戏的操控体验。这是一个很好的实践案例,对于想要深入学习Flash游戏开发,...

    BOX2D 物理游戏编程初学者指南 陈文登(高清,带目录)

    高清带目录《Box2D物理游戏编程初学者指南》系统地梳理学习Box2D物理游戏编程的各个知识点,并通过图解、问答、举例等形式深入浅出地讲解初学者觉得晦涩难懂的概念、术语。  《Box2D物理游戏编程初学者指南》最后,...

    android下box2d小demo

    这通常通过添加Box2D的AAR依赖或者克隆Box2D源代码到项目中完成。对于这个小demo,`MyBox2d`可能就是项目的主模块,包含了集成Box2D的相关代码。 2. **创建世界**:在Box2D中,所有物理实体都在一个名为“World”的...

    Box 2D ActionScript 3.0

    Box 2D是一个开源的2D物理引擎,最初由Ernesto Pena为C++编写,后来被广泛应用于各种游戏开发和模拟系统中。在ActionScript 3.0环境下,Box 2D允许开发者创建复杂的2D物理效果,如重力、碰撞检测、摩擦力和弹性,...

    box2d实现弹跳

    Box2D 实现弹跳 Box2D 是一个开源的物理引擎,广泛应用于游戏开发、模拟仿真、机器人仿真等领域。它提供了一个通用的碰撞检测和物理模拟引擎,可以模拟各种物理现象,如碰撞、摩擦、弹跳等。 在本文中,我们将使用...

    box2d中文教程

    Box2D是一个用于游戏的2D刚体仿真库,它可以使物体的运动更加真实,让游戏场景看起来更具交互性。2D物理引擎能增强游戏世界中物体如多边形(砖块,三角形,多边形)的动作的真实感从而提高游戏质量。该引擎通过用户...

    box2d中文手册

    Box2D是一个流行的开源2D物理引擎,专为游戏开发者设计,用于实现真实感的物理效果。该引擎基于C++编写,提供了刚体仿真、碰撞检测、约束和关节等核心功能,使得游戏中的物体运动更加自然,增强了游戏的互动体验。 ...

    box2d-as3版 中文教程

    Box2D 是一个用于游戏的 2D 刚体仿真库。程序员可以在他们的游戏里使用它,它可以使物体的运动 更加可信,让世界看起来更具交互性。从游戏的视角来看,物理引擎就是一个程序性动画(procedural animation)的系统,而...

    box2d碰撞检测教程

    总的来说,"cocos2d box2d碰撞检测教程"将引导你深入理解如何在Cocos2d项目中设置和利用Box2D的碰撞检测系统。通过学习这个教程,你将能够创建更真实、更互动的游戏环境,为玩家带来更好的体验。教程可能包括创建...

    Android Box2d 例子

    总的来说,"Android Box2D例子"提供了一个学习和实践2D物理模拟的平台。开发者可以通过这个项目了解如何在Android应用中集成Box2D,调试和优化物理模拟,以及解决性能问题。同时,对于初学者,这个例子也是一个很好...

    Box2D_v2.1.2

    Box2D_v2.1.2 Box2D is a 2D physics engine for games. For help with Box2D, please visit http://www.box2d.org. There is a forum there where you may post your questions.

Global site tag (gtag.js) - Google Analytics