# 使用自定义回调函数
[想要了解更多Mugeda功能?>>>猛戳我,学习更多教程](Mugeda百科全书——文本教程目录.md)
* * * * *
Mugeda提供完善的交互行为功能,能够无需代码即可方便的添加丰富的交互行为,例如对动画的控制(播放、暂停、跳转等),提交表单,播放视频,上传图片等
在一些特殊情况下,用户可能希望能够编写自定义函数来处理交互逻辑。比如,在一些小游戏内容中,用户可能希望能够实现较为复杂的自定义逻辑来满足游戏的需要。这时候,就可以考虑通过自定义的回调函数来进行处理。本教程将会说明如何定义自己的回调函数来添加自己的代码。
使用自定义的回调函数的基本流程是在创作的动画内容中为一个指定的元素添加名为“回调函数”的行为,并为行为指定一种触发方式。然后,就可以在代码编辑器中添加回调函数的定义了。
下面举例说明一下。在下面的例子中,我们为一个矩形添加一个点击后移动一个圆形的回调函数。首先生成一个包含有圆形和矩形的一个内容,并将圆形命名为"circle"。如下图所示:
![](https://box.kancloud.cn/757a4dafd26255301bedd6e6dd637170_752x617.png)
然后选中矩形,并点击矩形右下角的添加行为按钮。
![](https://box.kancloud.cn/7c5388caadc668ccf670096984ee51e2_651x403.png)
在出现的“编辑行为”对话框中,选择“回调函数”条目。在右侧的“触发条件”中,默认的触发条件即为“点击”。也可以用其它合适的触发条件,比如“向左滑动”,“摇一摇”等。
![](https://box.kancloud.cn/0c7a7e345fb5f8a5852797c4870d98c6_915x643.png)
点击操作中的编辑按钮,编辑回调函数的参数。
![](https://box.kancloud.cn/386e3942c203d4be880e81de2f9aea5e_963x544.png)
下面就可以开始编写回调函数的代码了。首先打开代码窗口。
![](https://box.kancloud.cn/f8eada52580141d04d49feeb54653b03_833x145.png)
在代码窗口中输入自定的回调函数实现。下面这段代码的含义是,在舞台上寻找一个叫做"circle"的对象,并把它移动到x=100的位置。
window.moveObject = function (){
// 获取名称为name的元素对象
var target = mugeda.scene.getObjectByName(name);
if(target){
// 修改获取的元素的位置
target.x = 100;
}
}
![](https://box.kancloud.cn/408b80657693b673aa7f193d2dbbb525_613x247.png)
回调函数的定义方式为:
window.functionName = function(object, param1, param2){}
注意:
1) 目前回调函数需要定义在window的全局空间。我们今后会取消这个约束用更加规范的方式来定义回调函数。
2) 回调函数目前携带3个参数:第1个参数是行为触发的API对象,在上面这个例子中,即为矩形的API对象。除此以外,回调函数允许用户指定两个参数,即第2个和第3个参数param1和param2。这两个参数可以在编辑回调函数属性的时候指定。
在最简单直接的场景下,用户只需要指定一个回调函数名称,并在代码窗口中提供该函数的定义即可。
关于如何在Mugeda内容中使用代码以及API,可以参见如下文档:
API的应用:在动画中添加代码
http://bbs.mugeda.com/?/question/305
API的应用:Mugeda API的整体结构
http://bbs.mugeda.com/?/article/282
API的应用:Mugeda对象
http://bbs.mugeda.com/?/question/307
API的应用:scene对象
http://bbs.mugeda.com/?/article/284
API的应用:aObject对象
http://bbs.mugeda.com/?/article/285
API的应用:工具API
http://bbs.mugeda.com/?/article/286
API的应用:获取Mugeda后台数据
http://bbs.mugeda.com/?/article/390
观看本节视频教程:
http://cdn1.mugeda.com/course/3/3.9/3.9.3.mp4
- 阅读须知
- Mugeda平台介绍
- 新手必看
- Mugeda是什么?
- 快速入门
- 快速制作炫酷动画
- 无代码添加交互
- 学会使用Mugeda模板
- 如何快速修改木疙瘩模板
- 作品创建前必读
- 手机屏幕适配方法
- 图片处理
- 声音及视频处理
- 屏幕适配设置
- 发布和预览链接的区别
- H5作品相关设置
- 如何发布作品
- 功能详解
- 界面与舞台
- 简介
- 缩放层数据
- 翻页的相关设置
- 关键帧和页面的命名
- 加载的相关设置
- 物体属性设置
- 元件界面介绍
- 滤镜效果
- 屏幕适配范围与安全框
- 辅助线功能
- 首页加载的静态导出
- 素材与媒体
- 图片上传/素材库
- 文本/文本段落
- 网页
- 幻灯片
- 视频
- 声音
- 声音的控制
- 绘制素材
- 云字体
- 曲线图表
- 拖动动画
- 虚拟现实
- 粘贴第三方文字和图片
- 常用编辑操作
- 锁定物体
- 节点工具
- 路径工具
- 排列、对齐、变形、组合、合并功能
- 转换为元件
- 导入PSD及注意事项
- 声音和视频的压缩
- 声音和视频的交互控制
- 动画
- 时间轴及图层
- 选择工具
- 关键帧动画
- 路径动画
- 进度动画
- 曲线变形动画
- 预置动画
- 元件动画
- 分页/加载页
- 遮罩动画
- 动画运动
- 标尺和辅助线的使用
- 复制帧/图层
- 如何实现动画控制
- 文字变形动画
- 运动曲线编辑
- 行为
- 行为添加以及触发事件
- 帧的行为
- 页的行为
- 播放元件片段
- 改变元素属性
- 改变图片
- 设置定时器
- 手机功能
- 跳转链接
- 拖动的多种逻辑关系
- 舞台截图
- 改变行为属性增加方框颜色
- 控件
- 陀螺仪
- 定时器
- 随机数
- 擦玻璃
- 点赞
- 绘画板
- 投票
- 抽奖
- 连线
- 拖动容器
- 投票、抽奖实时数据管理
- 计数器组件
- 排行榜
- 微信功能
- 微信头像/微信昵称
- 定制图片
- 录制声音
- 分享信息
- 表单
- 自定义表单
- 系统默认表单
- 定制文字
- 定制贺卡文字
- 关联绑定
- 舞台动画关联
- 元件动画关联
- 属性关联
- 自动关联
- 公式关联
- 条件判断
- 逻辑表达式判断
- 多种表达式的写法
- Mugeda API
- MugedaAPI整体结构
- 在动画中插入脚本
- 使用自定义回调函数
- 通过API定义微信转发
- 获取Mugeda后台数据
- 部署第三方服务器
- 案例讲解
- 展示动画
- 邀请函
- 招聘
- 个人简历
- 可定制贺卡
- 手机广告
- 长按手指控制动画播放
- 2016网易娱乐圈画传
- 一只挖空心思的行礼箱
- 科幻风格H5的制作
- 拖动长图类H5制作
- 小爷吴亦凡案例
- UI原型
- 小图标动画
- 用Mugeda巧做GIF
- 小游戏
- 拍宇航员
- 手术刀
- 测试题
- 拖动选择
- 概率抽奖
- 声音测试题
- 真假朋友大质检
- 图片合成类H5的制作
- 60秒帮你摆脱朋友圈
- H5录音机
- 制作接力型H5
- 微信/定制
- 和宝宝聊天
- 和奥运冠军合影
- 热门案例(试看)
- 什么才是福
- 教你玩转密室逃脱类H5制作
- 星巴克咖啡
- 小爷吴亦凡
- 谁是足球明星
- 拷问拍拍618机密
- 用HTML5做交互课件
- CEO邀你群聊
- 里约大冒险
- 天猫宇宙邀请函
- 快闪
- H5换装小游戏
- 视差类型H5制作
- H5版flappy bird
- 连连看小游戏
- 用遮罩做镜头特效
- 网易5笔画爱
- 剪刀石头布小游戏
- 交互动画类H5制作
- 最新功能(1213)
- 如何使用排行榜
- 小功能更新
- 锁定边距
- 其他教程
- Mugeda简约版介绍
- 如何自定义绑定微信公众号
- 教师版账号详情介绍及使用方法