创建或修改目录:/www/wwwroot/104.219.215.234/data 失败!
91porn。com Qt Quick QML-500行代码终了合成大西瓜游戏 - 格林童话
你的位置:格林童话 > 美女人体艺术图片 > 91porn。com Qt Quick QML-500行代码终了合成大西瓜游戏

91porn。com Qt Quick QML-500行代码终了合成大西瓜游戏

发布日期:2024-09-28 06:06    点击次数:163

"合成大西瓜"这个游戏在年前很火热,还上过微博热搜91porn。com,最近便玩了一阵还挺有风趣的,是以商讨了一下小球碰撞旨趣,我方切武艺写碰撞算法来终了一个合成大西瓜游戏.并扶助猖狂大小布局,你念念玩多大面积,就拖多大面积,唯一面积够大,持重玩下去,合100个大西瓜齐不错.哈哈~~~

1.游戏先容

游戏内部系数有11个生果,两个疏通生果的合成一个较大的生果,最终合成一个大西瓜便不行接续合下去了:

然而博主我方写的游戏,我方齐合不出一个大西瓜来.

若是看起来很恍惚,好像看不到视频,不错平直去https://www.bilibili.com/video/BV1eh411Y7uV/哔哩哔哩平直看.

代码中逻辑主要如下所示:

出动生果,并进行限制检测计较生果之间碰撞检测,若是是两个疏通的生果,则进行生果统一,不然就计较小球碰撞后的出动标的.判断生果是否溢出极度线,若是溢出,则将每个生果进行破灭,弹出截止画面,恭候下一局

而生果碰撞计较是内部较为复杂的,是以我接下来给大师来老师小球碰撞算法之前,咱们最初来温习下往常学过的向量.

2.向量先容

咱们以底下向量为例:

那么此时的向量便是,那么他们的骨子便是(B.x-A.x,B.y-A.y),当咱们对向量取统统值时,便是求A坐标到B坐标的长度,也便是:

斜线长度 =

3. 单元向量

单元向量便是长度为1的一个向量.依然以这个向量为例(长度为C):

若是念念得回的单元向量,那么他们的骨子为 :((B.x-A.x)/C, (B.y-A.y) /C)

是以的单元向量就等于1

4. 向量与单元向量点乘

向量与单元向量点乘,是用来得回向量在单元向量上的投影.

最初向量与向量点乘的公式如下所示:

其中向量和向量之间的夹角.

假如是单元向量,那么统统值就等于1.

是以:

$\vec{a}* \vec{b} = \left | \vec{a} \right | cos\theta$

最终如下图所示:

红色的线暗示的长度.咱们从鸟瞰图来看,红色线不恰是向量在向量方进取的投影吗?

假如两个向量是落幕连结,那么角度便是单元向量沿生出来后的角度,如下图所示:

得出论断:

夹角若是为钝角,那么为负数.(单元向量的反标的) 夹角若是为锐角,那么为正数(单元向量的正标的) 5.小球碰撞气象 由于两个小球碰撞,切线上的速率齐是彼此平行的,莫得作使劲(如下图所示). 而连心线上是彼此碰撞的(如下图所示),会有作使劲,是以咱们只需条款出球1和球2的连心线方进取的速率值. 然后再凭证动量守恒定律和机械能守恒定律求出碰撞后的球1和球2的连心线标的. 终末再彼此加上各拖拉切线上的速率即可得到各自碰撞后的x速率,y速率.

碰撞前如下图所示:

v1n和v1t : 是球1在连心线标的和切线方进取的投影速率 v2n和v2t : 是球2在连心线标的和切线方进取的投影速率 v1 : 球1的速率标的,等于v1n + v1t v2 : 球2的速率标的,等于v2n + v2t 5.1 得回v1n和v2n

之前咱们已讲授过:向量与单元向量点乘,是用来得回向量在单元向量上的投影.

是以代码如下所示:

国产女同 5.2 计较碰撞后的速率标的

最初咱们来看下碰撞后如下图所示:

v1' : 球1碰撞后的速率标的,等于v1n' + v1t v2 ' : 球2碰撞后的的速率标的,等于v2n' + v2t v1n'和v2n' : 两个小球碰撞后的投影速率

假如这两个小球是相似大, v1n'和v2n'取值便是:

v1n' = v2n

v2n' = v1n

何况凭证动量守恒定律和机械能守恒定律得出:

v1和v2 : 两个小球碰前速率. m1和m2 : 两个小球的质料 v1'和v2' : 两个小球碰后速率

是以最终碰撞函数代码如下所示:

6. 小球擦肩而过气象

最初咱们来望望底下两个小球平行出动场景图:

假如球1和球2在平行出动,那么他们与连心线的夹角恰恰是90°, v1n和v2n则齐为0

假如球1的夹角大于了球2的夹角,那么就会出现碰撞,如下图所示:

虚线箭头速率标的暗示球1的夹角大于球2的夹角的时代场景.

而cos的取值状貌刚好是在0~180°的时代,角度越大,值越小,是以v1n >=v2n时,则不会碰撞.

7. 小球一直降落在系数小球的正上方气象

成果图如下所示:

这时代,小球由于莫得切线上的速率标的,是以在重力加快度下,会缓缓让小球们堆起来,从而游戏截止.

是以咱们还要在碰撞后末尾添加以下判断:

修改后成果图所下所示:

通盘的碰撞算法终了就完成了,其它逻辑就相当照葫芦画瓢终了即可,代码还在上传中,若是大师还念念终了什么小游戏,不错给我留言哦,感敬爱的话,我就撸一个出来.

以上便是Qt Quick QML-500行代码终了的详备骨子91porn。com,更多对于Qt Quick QML-500行代码终了"合成大西瓜游戏"的而已请和蔼剧本之家其它相关著述!

您可能感敬爱的著述: 一文详解Qt的QObject类 Qt5.9接纳QObject创建多线程实例 QML用PathView终了轮播图 QML终了钟表成果 qml中QtObject类型的用法小结

Powered by 格林童话 @2013-2022 RSS地图 HTML地图

Copyright Powered by站群系统 © 2013-2024

创建或修改目录:/www/wwwroot/104.219.215.234/data 失败!
JzEngine Create File False