attackOnTarget: function (atkDir, targetPos) {
var self = this;
let deg = cc.radiansToDegrees(cc.pAngleSigned(cc.p(0, 1), atkDir));
let angleDivider = [0, 12, 35, 56, 79, 101, 124, 146, 168, 180];
function getAtkSF(mag, sfAtkDirs) {
let atkSF = null;
for (let i = 1; i < angleDivider.length; ++i) {
let min = angleDivider[i - 1];
let max = angleDivider[i];
if (mag <= max && mag > min) {
atkSF = sfAtkDirs[i - 1];
self.nextPoseSF = self.sfPostAtks[Math.floor(( i - 1 )/3)];
return atkSF;
}
}
if (atkSF === null) {
console.error('cannot find correct attack pose sprite frame! mag: ' + mag);
return null;
}
} let mag = Math.abs(deg);
if (deg <= 0) {
this.spPlayer.node.scaleX = 1;
this.spPlayer.spriteFrame = getAtkSF(mag, this.sfAtkDirs);
} else {
this.spPlayer.node.scaleX = -1;
this.spPlayer.spriteFrame = getAtkSF(mag, this.sfAtkDirs);
} let moveAction = cc.moveTo(this.atkDuration, targetPos).easing(cc.easeQuinticActionOut());
let callback = cc.callFunc(this.onAtkFinished, this);
this.node.runAction(cc.sequence(moveAction, callback));
this.inputEnabled = false;
this.isAttacking = true;
},

ccc 函数中写函数的更多相关文章

  1. js函数中写默认值的几种方式(常见的)

    <script> <!--第一种写法,我更喜欢第一种写法直观一些--> function Person(name){ this.name = name || '默认名字乔丹'; ...

  2. js中在一个函数中引用另一个函数中的函数,可以这么做

    在另一个函数中,将需要使用的函数绑定在window下 // UEditor $(function () { window.ue = UE.getEditor('editor', { // ue即可成为 ...

  3. 二十二、JavaScript之在对象中写函数

    一.代码如下 二.效果如下 <!DOCTYPE html> <html> <meta http-equiv="Content-Type" conten ...

  4. ob系列函数中常用函数

    ob_start();                //打开一个输出缓冲区,所有的输出信息不再直接发送到浏览器,而是保存在输出缓冲区里面. ob_clean();               //删 ...

  5. JS-比较函数中嵌套函数,可以排序【对象数组】

    function createCompareFun(propertyName){ return function(object1,object2){ var value1 = object1[prop ...

  6. 函数的参数是函数,函数中Ajax返回的回调函数中的函数运行

    调用函数 checkAjax('addrinfo',formdata,vzxcv); 函数checkAjax function checkAjax(url,formdata,call_back){ / ...

  7. SQLServer行列转换PIVOT函数中聚合函数的使用意义及选择

    例子:https://blog.csdn.net/wikey_zhang/article/details/76849826 DECLARE @limitDay INT;SET @limitDay = ...

  8. matlab中s函数编写心得(转)

    Part I: 所谓s函数是system Function的简称, 用它来写自己的simulink模块. s函数可以用matlab.C.C++.Fortran.Ada等语言来写, 这儿我只介绍怎样用m ...

  9. javascript函数中with的介绍

    /*js函数中with函数的用法分析定义 方便用来引用某个对象中已有的属性但是不能用来给对象添加属性 要给对象创建新的属性 必须明确的引用该对象*/代码格式with(object) statement ...

随机推荐

  1. Linux定时任务设定

    使用crontab 命令进行设定. 详情可参见:http://blog.csdn.net/xiyuan1999/article/details/8160977. 共有6项构成,前5项为时间:分 时 天 ...

  2. "稀奇古怪的"delete this

    myClass::foo(){     delete this; } .. void func(){     myClass *a = new myClass();     a->foo(); ...

  3. IOS之笑脸app

    ios笑脸app实现 import UIKit @IBDesignable class FaceView: UIView { @IBInspectable var lineWidth:CGFloat= ...

  4. 学习JNDI

    既然datasource对象有tomcat提供,那么我们如何在应用程序中获得它呢,tomcat把这个对象放在JNDI服务中, 并用一个名字把它关联起来,我们在应用程序中,只需通过JNDI搜索这个名字, ...

  5. Eclipse 控制console

    http://blog.csdn.net/leidengyan/article/details/5686691

  6. HTML5学习之文件操作(九)

    之前我们操作本地文件都是使用flash.silverlight或者第三方的activeX插件等技术,由于使用了这些技术后就很进行跨平台的处理,另外就是让我们的web应用依赖了第三方的插件,而不是很独立 ...

  7. Delphi面向对象的可见性表示符

    Delphi能通过在声明域和方法的时候用protected.private.public.published和automated指示符来对对象提供进一步的控制.使用这些关键字的语法如下 TSomeOb ...

  8. Delphi的Win32的API调用简单介绍

    1.     介绍Win32 API和Win32系统.还要讨论Win32系统的功能以及它与16位系统在功能上的几个主要区别.只是让对Win32系统有一个基本的了解.当已经基本了解Win32操作后,就可 ...

  9. Java代码实现excel数据导入到Oracle

    1.首先需要两个jar包jxl.jar,ojdbc.jar(注意版本,版本不合适会报版本错误)2.代码: Java代码   import java.io.File; import java.io.Fi ...

  10. git branch用法总结

    git branch      git branch 不带参数:列出本地已经存在的分支,并且在当前分支的前面加“*”号标记,例如:   #git branch* master   newbranch ...