我的世界命令方块小游戏打砖块视频演示制作原理存档下载

小编为大家带来了《我的世界》命令方块小游戏打砖块视频演示制作原理存档下载,那么开始这次的技巧分享,这个打砖块啊,主要特点在于球,球体模型是材质包的作用。

videoplaceholder-61

存档地址:http://pan.baidu.com/s/1hrffavi

可以看到是一个带有发光透视效果的球体物品模型,用到了1.9的{Passengers}和计分板的tag

/execute @e[type=ArmorStand,tag=Board] ~0.5 ~ ~ /summon ArmorStand ~ ~ ~ {Invulnerable:1b,Invisible:1b,NoGravity:1b,CustomName:”Ball”,Passengers:[0:{id:”Item”,Item: {id:”minecraft:sea_lantern”,Count:1b,Damage:0s},Glowing:1b,Tags:[0:”Ball”],CustomName:”Ball”,PickupDelay:32767,Age:-32768}]}

复制代码

整个地图的所有运动组件都是以盔甲架为载体。一幅图直观表达

201621112317542_600_0

作为具有三维矢量运动属性的球,需要创建 三维变量 和 反弹判定 的变量,二者接口衔接,效果就达到了。同时考虑bug的触发问题,球体移动的速度不能过大。【否则穿墙飞出场地】

201621112317319

以坐标系为标准,指针方向为正,反方向为负。指定变量值为45

/tp @e[type=ArmorStand,score_x=45,score_x_min=45,name=Ball] ~0.2 ~ ~

复制代码

/tp @e[type=ArmorStand,score_x=-45,score_x_min=-45,name=Ball] ~-0.2 ~ ~

复制代码

/tp @e[type=ArmorStand,score_y=45,score_y_min=45,name=Ball] ~ ~0.2 ~

复制代码

/tp @e[type=ArmorStand,score_y=-45,score_y_min=-45,name=Ball] ~ ~-0.2 ~

复制代码

/tp @e[type=ArmorStand,score_z=45,score_z_min=45,name=Ball] ~ ~ ~0.2

复制代码

/tp @e[type=ArmorStand,score_z=-45,score_z_min=-45,name=Ball] ~ ~ ~-0.2

复制代码

如何取反的问题其实不难,穷举方法很多,个人使用的是设定一个定值―direction假名的变量为-1

场地内部裹着一层屏障方块。探测碰撞

/execute @e[type=ArmorStand,name=Ball] ~ ~1 ~ detect ~0.3 ~ ~ minecraft:barrier 0 /scoreboard players operation @e[type=ArmorStand,score_x_min=30,score_x=60,c=1,name=Ball] x *= direction condition

复制代码

/execute @e[type=ArmorStand,name=Ball] ~ ~1 ~ detect ~ ~0.3 ~ minecraft:barrier 0 /scoreboard players operation @e[type=ArmorStand,score_y_min=30,score_y=60,c=1] y *= direction condition

复制代码

/execute @e[type=ArmorStand,name=Ball] ~ ~1 ~ detect ~ ~ ~0.3 minecraft:barrier 0 /scoreboard players operation @e[type=ArmorStand,score_z_min=30,score_z=60,c=1] z *= direction condition

复制代码

反方向原理相同,将X、Y、Z的存储数据直接取反,运动状态与tp的系统联动,产生反弹效果。

碰撞砖块并击碎也是利用了距离差来实现。

这里的所有砖块都是羊毛,通过材质包更改贴图。【除了裂纹砖是原型贴图】

这样一来穷举工作量就小了很多

/execute @e[type=ArmorStand,name=Ball,score_Fire=0] ~ ~1 ~ detect ~0.3 ~ ~ minecraft:wool -1 /scoreboard players operation @e[type=ArmorStand,score_x_min=30,score_x=60,c=1,name=Ball,score_Fire=0] x *= direction condition

复制代码

/execute @e[type=ArmorStand,name=Ball,score_Fire=0] ~ ~1 ~ detect ~0.3 ~ ~ minecraft:wool -1 /setblock ~1 ~ ~ minecraft:air 0 destroy

复制代码

将石砖打成裂纹砖的方法相同,改变替换方块的种类即可。

原创文章,作者:spike,如若转载,请注明出处:http://www.kz168.cn/50973.html