Creator仿超级玛丽小游戏源码分享

'touchstart’是系统内部定义的触摸事件cc.Node.EventType.TOUCH_START的事件名,当手指触点落在目标节点区域内时,监听触摸事件同时响应移动平台的触摸事件和桌面端的鼠标事件。详情可参见触摸事件类型和事件对象

当时时间紧,基本完成后就忙着做毕业论文了:sweat_smile:没来得及优化。

运动核心机制才是关键,摄像机优化没有也罢

上传到源码商店吧

哈哈,还是不要了,这Demo会拉低源码商店的档次的:sweat_smile:

我色是cocos 1.6的版本 兔子直接掉深渊 然后换浏览器还是没有用

请问有源码分享来学习吗?

看到啦 谢谢

兔子直接掉深渊,已经修复了,有一个数据类型写错了,已更正,现在可以正常运行了

我想问一下,兔子自由移动怎么和tiledMap的格子检测碰撞的,我做的只能按格子走,如果角色不一格一格走的话,和tiledMap之间的碰撞就会发生偏移

看了下,你好像是把tiledMap用BoxCollider给转了一下啊

有趣,哈哈

tiledMap与creator的坐标系不一样,转换tiledMap中的对象(砖块、地面等)的坐标,给兔子和tiledMap中的对象添加碰撞盒,分组检测碰撞

2赞

嗯,谢谢楼主了

楼主,我又来了,boxCollider碰撞之后还能左右移动的关键代码应该是这几个吧

// 碰撞系统会计算出碰撞组件在世界坐标系下的相关的值,并放到 world 这个属性里面
var otherAabb = other.world.aabb;
// 上一次计算的碰撞组件的 aabb 碰撞框
var otherPreAabb = other.world.preAabb.clone();
var selfAabb = self.world.aabb;
var selfPreAabb = self.world.preAabb.clone();
selfPreAabb.x = selfAabb.x;
otherPreAabb.x = otherAabb.x;

有点不理解,既然都碰到了那要上一次计算的碰撞框干嘛啊?如果在没碰到之前有上一次的碰撞框的位置倒是可以来预判,但是没碰撞就没有(other,self)…

还有问下大佬是怎么学的,api我都查不到那个world.aabb方法

上一次的碰撞框也就是碰撞前的碰撞框,用来检测两个碰撞盒发生碰撞的方向,有时需要根据不同的碰撞方向作出不同的处理。比如在碰撞函数中 if (cc.Intersection.rectRect(selfPreAabb, otherPreAabb)) selfPreAabb.xMax > otherPreAabb.xMax 即当前物体与目标物体右侧发生碰撞。(xMax,矩形 x 轴上的最大值。)

我不是大佬,当时是为了做毕设学的,看这个教程 视频教程整理-qbkivlin ,现在公司项目转Creator了,我也在学习中:grin:

好的,谢谢到大佬:joy:

你好 我先请问一下 我想做第二、三关 那瓦片地图该怎么换啊?
我用的你写好的level2的地图放进去 缺少了很多Prefab 我该怎么改阿?