1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import FF from "./FF";
- /**
- * 道具飞行到主角身上
- */
- const {ccclass, property} = cc._decorator;
- @ccclass
- export default class FObjectFly extends cc.Component {
- public ff:FF
- public move:boolean = false;
- update (dt) {
- if(this.move && this.ff.mainSprite && this.ff.mainSprite.node){
- let node = this.ff.mainSprite.node;
- let pos = node.getPosition();
- pos.y = pos.y + node.height/2;
- if(this.Genzong(pos,dt)){
- this.node.destroy();
- }
- }
- }
- //跟踪导弹计算移动以及转向角度
- private Genzong(targetPosition,dt){
- let speed = 700;
- var targetPoint = targetPosition;
- var point = cc.v2(this.node.x, this.node.y);
- var delta = targetPoint.sub(point);
- var distance = point.sub(targetPoint).mag();
- // var x1 = point.x;
- // var y1 = point.y;
- // var deltaRotation = 90 -Math.atan2(y2 - y1, x2 - x1) * 180 /Math.PI;
- // this.node.rotation=deltaRotation;
- if(distance <= 10){
- return true;
- }
- var x2 = point.x + dt*speed * delta.x / distance;
- var y2 = point.y + dt*speed * delta.y / distance;
- var newPosition = cc.v2(x2, y2);
- this.node.setPosition(newPosition);//设置跟踪导弹的位置
- }
- }
|