cocos creator 割绳子实现
时间: 2023-07-24 11:54:44 浏览: 207
s': // 地球向下移动
earth_pos[1] -= 0.1;
break;
}
}
// 定时器事件处理函数
void timer(int value)
{
update();
glutTimerFunc(20, timer, 0);
}
割绳子是一款非常流行的益智游戏,它的核心玩法是通过切割绳子来// 主函数
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT让物体掉落到指定位置,同时需要收集星星来获取更高的分数。在 Cocos Creator 中_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(800, 600);
glutCreateWindow("Earth and Moon");
glut实现割绳子的过程大致可以分为以下几个步骤:
1. 创建游戏场景和物体DisplayFunc(display);
glutMouseFunc(mouse);
glutKeyboardFunc(keyboard);
glutTimerFunc(20, timer, 0);
:使用 Cocos Creator 的场景编辑器创建游戏场景,然后添加需要切割的绳子和物体等 init();
glutMainLoop();
return 0;
}
```
这个程序使用了OpenGL库,实现了一个简游戏元素。
2. 实现物体的掉落:使用物理引擎(如 Cocos Creator 自带的 Box单的地月绕太阳公转的效果。其中地球和月球是用图素构造法构成的2D 物理引擎)来实现物体的掉落,同时设置物体的刚体属性、碰撞体属性三维球体,太阳是一个实心球体。程序支持鼠标左键点击开始运动,支持键等。
3. 实现绳子的切割:在游戏场景中添加触摸事件监听器,当玩家触盘控制地球改变轨道。此外,地球和月球还添加了phong光照效果,增摸到绳子时,计算出触摸点与绳子的交点,并将绳子分成两段。可以使用强了真实感。
程序中使用了三个数组分别存储地球和月球的位置和速度,每 Cocos Creator 自带的 Graphics 组件来绘制切割后的绳子。
4. 实现星星的收集:在次更新时根据万有引力定律计算它们的位置和速度。鼠标事件处理函数中实现游戏场景中添加触发器,当物体与星星重叠时,触发收集星星的事件,并了视角的变换,键盘事件处理函数中实现了地球的移动。定时器事件处理函数中更新分数。
5. 实现游戏结束逻辑:当物体掉落到指定位置或者掉落到屏不断更新地球和月球的位置和速度,并进行重绘。
希望这个示范程序对你有所帮助。如果还有疑问,可以继续提问。
阅读全文