[{"insert":"创建一个对象组作为所控制人物的触碰范围,并在其中创建一个矩形作为己方人物\n"},{"insert":{"image":"R10580997-1d9a631f2f87280f79ca87aa6b139139_5394_302_85.png"}},{"insert":"\n创建一个矩形作为敌方球员,在敌方球员下面创建一个运动作为平常状态,缓动作为滑铲状态\n"},{"insert":{"image":"R10580997-901297b48ecb81cd6625cc0ccccc5ca7_4302_303_85.png"}},{"insert":"\n想要让敌方球员追踪我方球员,需要计算敌方球员到我方球员的角度,我方球员改变位置的时候都需要再次计算\n"},{"insert":{"image":"R10580997-c76aead49bfcb88baa414308727f6684_22350_737_262.png"}},{"insert":"\n为了能获取到敌方球员的位置,需要给新创建的敌方球员设置 id\n"},{"insert":{"image":"R10580997-014420a12b7ac72e4a1cc1021c2f9cf2_43431_869_526.png"}},{"insert":"\n然后在需要的地方以 ids.xxx 的形式获取它们\n"},{"insert":{"image":"R10580997-faaab6c1dd0b4dd78952859cc93f94a4_18972_871_190.png"}},{"insert":"\n打印一下获取到的对象可以发现它的 children 下面有两个对象,分别是运动和缓动,更改通常状态的移动方向需要更改的属性值是运动,所以获取 type 为 canvas-motion 的对象。\n"},{"insert":{"image":"R10580997-73be4653d92996c8e6ab621ffd4a4958_27299_365_298.png"}},{"insert":"\n使用 Math.atan2 计算敌方球员到我方球员的角度值,它接受 y,x 两个参数,和 atan 不同,它可以计算四个象限的值。计算出来的值赋值给 angle 属性再调用 play 方法,这样可以改变运动的方向。\n"},{"insert":{"image":"R10580997-d51a5d5e19294063777e386f3bc1fc89_33874_601_144.png"}},{"insert":"\n要让敌方球员靠近时改变状态,可以在控制人物的对象组下面创建一个大小合适的椭圆作为滑铲范围\n"},{"insert":{"image":"R10580997-fd4f1da8a6206a22161a1cfab8ebe329_16598_570_231.png"}},{"insert":"\n然后在敌方人物的重叠事件中进行状态的变更\n"},{"insert":{"image":"R10580997-9076cc072d29c9aa10f29499d35b727d_34824_864_353.png"}},{"insert":"\n"}]
[{"attributes":{"background":"#fafafa","color":"#595959"},"insert":"1、手机上方随机生成敌方球员"},{"insert":"\n"},{"attributes":{"background":"#fafafa","color":"#595959"},"insert":"2、我方人员一人物初始位置是在手机下方,当手势控制该人物靠近敌方球员的时候,敌方球员改变状态(跑步变滑铲?),朝我方人物快速接近,只要控制我方人员没有被敌方人员撞且我方人员位置在敌方人员位置上方就算成功,被敌方人员撞上就失败。"},{"insert":"\n"}]
使用画布创建人物,并通过重叠功能判断人物之间的碰撞。
使用画布创建人物,并通过重叠功能判断人物之间的碰撞。
R10580997-ff1d9aa382ab27987bdc0f533f93ba1c_7154_325_218.png
https://v4pre.h5app.com/play/MeFRwm4g