自己制作回调函数

<?php
//对功能要求简单的函数可以通过参数传变量而得到功能的满足,如下:
function demo($num,$n)
{
for($i=0;$i<$num;$i++)
{
if($i%$n==0)
continue;
echo $i."<br>";
}
}
//demo函数输出在0到$num中除了是$n倍数的数,由于功能相对简单所以不需要在参数中调用函数
demo(100,3);//输出除了是3的倍数的数值;


//制作回调函数1:对上面的例子如果我们要输出除了回笼数之外的数值,这时就需要借助回调函数来操作了;



function test($num,$n)
{
for ($i=0;$i<$num;$i++)
{
if($n($i))//变量函数
continue;
echo $i."<br>";
}
}
function func($a)
{
if($a==strrev($a))
return true;
else
return false;
}
test(500,"func");//无法输出像11,121和282这种类型的值


/*制作回调函数2:用call_user_func_array()这个系统函数来制作回调函数。
 制作之前需要了解的知识:参数个数如果是变化的长度时,就不能直接调用这个函数;*/

function func($one="1",$two="2",$three="3")
{
echo "---$one---$two---$three---";
}
 func();这样调用这个函数就是错误的


function funct($one="1",$two="2",$three="3")
{
echo "--$one--$two--$three--<br>";
}
call_user_func_array("func",array("111","2222","33333"));


function test($num,$n)
{
for ($i=0;$i<$num;$i++)
{
//变量函数被替换if($n($i))
if(call_user_func_array($n,array($i)))
continue;
echo $i."<br>";
}
}
function func($a)
{
if($a==strrev($a))
return true;
else
return false;
}
test(500,"func");


//制作回调函数3:调用对象中的方法或者类中的静态方法;
function test1($num,$n)
{
for ($i=0;$i<$num;$i++)
{
if(call_user_func_array($n,array($i)))//此处不能用变量函数来调用
continue;
echo $i."<br>";
}
}
class filter
{
function one($a)
{
if($a%3==0)
return true;
else
return false;
}
static function two($a)
{
if(preg_match('/3/',$a))
{
return true;
}
else
{
return false;
}

}
}
test1(500,array(new filter(),"one"));
test1(300,array("filter","two"));
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以回答你关于Unity中DOTween插件的问题。 首先,DOTween插件是用于制作Tween动画的工具,可以轻松地创建动画效果。下面是回答你的问题: 1. 设置参数 在使用DOTween插件创建Tween动画时,可以设置很多不同的参数,如持续时间、延迟时间、循环次数等。这些参数可以通过Tween对象的方法进行设置,例如: ```csharp //创建一个Tween对象 var tween = transform.DOMove(Vector3.zero, 1f); //设置Tween对象的参数 tween.SetDelay(0.5f); //设置延迟时间为0.5秒 tween.SetLoops(-1, LoopType.Yoyo); //设置无限循环,并且在每次循环结束时反转Tween对象的运动方向 ``` 2. Ease曲线 Ease曲线是用于控制Tween动画的运动方式,可以使Tween对象的运动变得更加平滑或者更加突然。DOTween插件提供了很多内置的Ease曲线,也可以自定义Ease曲线。在创建Tween对象时,可以通过传递Ease曲线的枚举值或者自定义的Ease曲线函数来设置Tween对象的Ease曲线,例如: ```csharp //使用Ease枚举值设置Tween对象的Ease曲线 var tween = transform.DOMoveX(5f, 1f).SetEase(Ease.InOutQuad); //设置Tween对象的Ease曲线为InOutQuad //使用自定义Ease曲线函数设置Tween对象的Ease曲线 var tween = transform.DOMoveX(5f, 1f).SetEase((t) => Mathf.Lerp(0f, 1f, t)); //设置Tween对象的Ease曲线为自定义的线性插值函数 ``` 3. 回调函数 回调函数是在Tween动画运动到指定位置或者完成一次循环时调用的函数。可以通过Tween对象的OnComplete、OnStepComplete、OnKill等方法设置Tween对象完成时需要调用回调函数,例如: ```csharp //设置Tween对象完成时需要调用回调函数 var tween = transform.DOMoveX(5f, 1f).OnComplete(() => Debug.Log("Tween completed!")); //设置Tween对象完成时需要输出日志信息 //设置Tween对象每次循环完成时需要调用回调函数 var tween = transform.DOMoveX(5f, 1f).SetLoops(2).OnStepComplete(() => Debug.Log("Tween loop completed!")); //设置Tween对象每次循环完成时需要输出日志信息 ``` 4. 动画控制函数 动画控制函数是用于控制Tween动画的播放、暂停、重置等操作的函数。可以通过Tween对象的Play、Pause、Rewind等方法进行动画控制,例如: ```csharp //播放Tween动画 var tween = transform.DOMoveX(5f, 1f); tween.Play(); //播放Tween动画 //暂停Tween动画 var tween = transform.DOMoveX(5f, 1f); tween.Pause(); //暂停Tween动画 //重置Tween动画 var tween = transform.DOMoveX(5f, 1f); tween.Rewind(); //重置Tween动画 ``` 以上就是关于DOTween插件设置参数、Ease曲线、回调函数、动画控制函数的介绍,希望能够对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值