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. 根据复选框checkbox的选中状态来打开或关闭隐藏层

    HTML:  <input type="checkbox" id="check-expert"> <div id="expert&q ...

  2. 128. Longest Consecutive Sequence(leetcode)

    Given an unsorted array of integers, find the length of the longest consecutive elements sequence. F ...

  3. http协议之request

    一.请求的基本格式 请求的基本格式包括请求行,请求头,请求实体三部分.例如:GET /img/bd_logo1.png HTTP/1.1Accept: */*Referer: http://www.b ...

  4. Ionic环境搭建

    stepts npm install -g ionic@beta Make sure you have NodeJS installed. Download the installer here or ...

  5. WMI测试

    https://social.msdn.microsoft.com/Forums/windowshardware/zh-CN/c5af7959-95d3-4e1b-ab40-96a2a31c2af2/ ...

  6. 无废话Android之内容观察者ContentObserver、获取和保存系统的联系人信息、网络图片查看器、网络html查看器、使用异步框架Android-Async-Http(4)

    1.内容观察者ContentObserver 如果ContentProvider的访问者需要知道ContentProvider中的数据发生了变化,可以在ContentProvider 发生数据变化时调 ...

  7. windows 10 上office2016 word崩溃的解决方案

    方案1:--个人试验可行,把如下路径改成自己系统路径 C:Documents and Settings/Administrator/application/data/microsoft/templat ...

  8. scala中的trait

    这里的trait字面意思是特质或者特征,这个词翻译成特征比较合适.它的意义和java,c#中接口很类似.但是trait支持部分实现,也就是说可以在scala的trait中可以实现部分方法. 下面我们以 ...

  9. PHP不同域名cookie共享(单点登录实现原理)

    PHP使用P3P完成COOKIE跨域操作实际实用中,类似的需求有,比如说我们有两个域名,我们想实现在一个域名登录后,能自动完成另一个域名的登录,也就是单点登录(SSO)功能.为了测试的方便,先编辑ho ...

  10. 学习iOS的网站

    ios开发者 http://www.codeios.com/   cocoachina http://www.cocoachina.com   code4app http://code4app.com ...