API

API

【已解决】身份证的验证代码,各种表单验证

回复

BUG反馈qqf35714a4fc 发起了问题 • 1 人关注 • 0 个回复 • 92 次浏览 • 2021-04-02 17:35 • 来自相关话题

【已解决】api 修改文本字体颜色

BUG反馈wx2199026830 回复了问题 • 4 人关注 • 2 个回复 • 2898 次浏览 • 2021-04-01 17:58 • 来自相关话题

【已解决】木疙瘩制作京东秒杀倒计时效果

回复

BUG反馈qqf35714a4fc 发起了问题 • 1 人关注 • 0 个回复 • 98 次浏览 • 2021-03-30 17:07 • 来自相关话题

【已解决】如何在木疙瘩中用代码添加倒计时功能

回复

BUG反馈qqf35714a4fc 发起了问题 • 1 人关注 • 0 个回复 • 101 次浏览 • 2021-03-30 14:40 • 来自相关话题

制作格式为天/时/分/秒的倒计时动画

案例分享qqf35714a4fc 发表了文章 • 0 个评论 • 52 次浏览 • 2021-03-30 14:35 • 来自相关话题

制作格式为天/时/分/秒的倒计时动画做出当前时间的倒计时?如何在木疙瘩中用代码添加倒计时功能


欢迎交流谢谢
  1. 制作格式为天/时/分/秒的倒计时动画
  2. 做出当前时间的倒计时?
  3. 如何在木疙瘩中用代码添加倒计时功能
  4. QQ截图20210330142506.jpg
  5. 欢迎交流
  6. 谢谢

有没有api导入地图的教程

问题答疑ddbackhome 回复了问题 • 1 人关注 • 1 个回复 • 103 次浏览 • 2021-03-26 14:40 • 来自相关话题

【代码分享】自定义视频的进度条(控制块)

原创分享lx_mgd 发表了文章 • 0 个评论 • 538 次浏览 • 2020-08-21 17:30 • 来自相关话题

 
发布链接

https://6.u.mgd5.com/c/n20h/hwr3/index.html 

扫码看效果







使用的代码如下mugeda.addEventListener("renderready", function(){
var scene 查看全部
 
发布链接

https://6.u.mgd5.com/c/n20h/hwr3/index.html 

扫码看效果

代码版进度条.png



使用的代码如下
mugeda.addEventListener("renderready", function(){
var scene = mugeda.scene;
var myvideo = scene.getObjectByName('播放的视频');
var videodom;
var durationBtn = scene.getObjectByName('进度');

window.changeduration = function(){
videodom = myvideo.dom.childNodes[3];
console.log('btn position changed');
videodom.currentTime = videodom.duration*(scene.getObjectByName('进度').left - 100)/(500-100)
}

window.getvideoduration = function(){
if(!myvideo.dom) return;
videodom = myvideo.dom.childNodes[3];
console.log(videodom)
}

window.myScript = function(){
if(!videodom) return;
console.log(videodom.currentTime)
durationBtn.left = 100+(500-100)*videodom.currentTime/videodom.duration

}
});

代码里使用到aObject对象的dom属性。在木疙瘩里舞台上每个取了名的物体都可以用api来定位到,定位的就是它的aObject对象,aObject对象可以使用dom属性获取元素实际的dom。
 
api地址

https://card.mugeda.com/mugedaApiDoc/index.html
 
作品中添加代码的地方在
 

视频进度条添加代码.png

 
 
 
在以下公众号回复“视频进度块”,获取本文的源文件链接

扫码.png

 

 

2.9.1 API的应用:在动画中添加代码

原创分享m8499519 回复了问题 • 6 人关注 • 1 个回复 • 6878 次浏览 • 2020-06-08 08:43 • 来自相关话题

【代码分享】随机不重复跳帧或跳页面

原创分享lx_mgd 回复了问题 • 7 人关注 • 2 个回复 • 4360 次浏览 • 2020-05-27 11:27 • 来自相关话题

【代码分享】点屏幕时出现爱心动画效果

原创分享lx_mgd 发表了文章 • 2 个评论 • 607 次浏览 • 2020-05-20 14:48 • 来自相关话题

 
可扫这个码在手机上看效果





 
主要是用了这些代码,从元件库里新建元件并添加到舞台,然后设置舞台上元件实例的坐标,最后删除它mugeda.addEventListener("renderready", function(){
var scene = muge 查看全部
 
可扫这个码在手机上看效果

爱心效果.png

 
主要是用了这些代码,从元件库里新建元件并添加到舞台,然后设置舞台上元件实例的坐标,最后删除它
mugeda.addEventListener("renderready", function(){
var scene = mugeda.scene;
var dianjiquyu = scene.getObjectByName("点击区域");

dianjiquyu.addEventListener("click", function(e){
// 为元件创建新的实例,并增加到主舞台
var aObject = mugeda.createInstanceOfSymbol("爱心");

// this指向aObject
// 提供inputX和inputY属性,获取相对于舞台的坐标值
var x = e.inputX;
var y = e.inputY;

scene.appendChild(aObject);

aObject.left = x - aObject.width/2;
aObject.top = y - aObject.height;

// 1秒后删除刚刚加入的物体
setTimeout(function(){
scene.removeChild(aObject);
}, 1000);

});


//scene.appendChild(aObject, behaindAObject, pageIndex);
//可以将物体添加到舞台上
//第二个参数behaindAObject是舞台上某个动画元素,这个参数也可以是null
//第三个参数是页面的编号

});






api文档: https://card.mugeda.com/mugedaApiDoc/index.html
 
 
 

在以下公众号回复”爱心效果“,获取本文的源文件链接
 
扫码.png

 

【代码分享】使用回调函数去掉发布链接里多余的参数

原创分享ddbackhome 发表了文章 • 0 个评论 • 591 次浏览 • 2020-02-10 14:13 • 来自相关话题

发布链接在用户浏览的过程中,有时会临时生成一些参数,转发给新用户打开时这些参数也会存在,有些时候可能会造成新用户看到的内容与我们预期的不一样。
 
比如,绘画板画好后转给新用户,不想让新用户看到上一个用户绘画板的内容。
 
解决方法是某些地方添加回调函数 reseturl,让用户转发时去掉多余的参数 查看全部
发布链接在用户浏览的过程中,有时会临时生成一些参数,转发给新用户打开时这些参数也会存在,有些时候可能会造成新用户看到的内容与我们预期的不一样。
 
比如,绘画板画好后转给新用户,不想让新用户看到上一个用户绘画板的内容。
 
解决方法是某些地方添加回调函数 reseturl,让用户转发时去掉多余的参数。其中发布链接那里需要修改成你作品的发布链接。
mugeda.addEventListener("renderready", function(){

window.reseturl = function(){
defineWechatParameters({
url_callback: function(){
return "发布链接";
}
});
}

});



 
 
 
下边是demo链接,可以打开另存https://www.mugeda.com/animation/edit/95388534

【代码分享】模拟手机通话时间效果

原创分享ddbackhome 发表了文章 • 2 个评论 • 620 次浏览 • 2020-01-16 15:07 • 来自相关话题

https://www.mugeda.com/animation/edit/300ac6ca
 
可以打开另存一下
 
效果如图:
 





 
https://www.mugeda.com/animation/edit/300ac6ca
 
可以打开另存一下
 
效果如图:
 

sss.png

 

【代码分享】屏蔽长按图片出现的保存图片系统菜单

原创分享mengxin 回复了问题 • 12 人关注 • 4 个回复 • 7423 次浏览 • 2019-11-25 13:58 • 来自相关话题

【代码分享】禁止长按保存,鼠标右键另存图片

原创分享qqf35714a4fc 发表了文章 • 0 个评论 • 840 次浏览 • 2019-10-21 15:41 • 来自相关话题

安卓系统实测可以,ios系统未测试。
查看地址







源码地址:https://cn.mugeda.com/animation/edit/c376fde2
把下面代码复制到脚本窗口,把你要禁止长按保存的图片命名,微信号替换为你命名的图片名字。
 

mugeda.addEventListe 查看全部
安卓系统实测可以,ios系统未测试。
查看地址


禁止另存图片.gif


源码地址:https://cn.mugeda.com/animation/edit/c376fde2
把下面代码复制到脚本窗口,把你要禁止长按保存的图片命名,微信号替换为你命名的图片名字。
 

mugeda.addEventListener("renderready", function(){
     var scene = mugeda.scene;

     scene.getObjectByName('微信号').dom.style.cssText += "pointer-events:none";

});

 

【经验分享】装13印章生成器

原创分享qqf35714a4fc 发表了文章 • 0 个评论 • 676 次浏览 • 2019-10-13 01:31 • 来自相关话题

查看地址模板地址





  查看全部

【经验分享】物理碰撞小游戏

原创分享qqf35714a4fc 发表了文章 • 0 个评论 • 902 次浏览 • 2019-10-11 17:01 • 来自相关话题

查看地址

【经验分享】点击复制文本效果

原创分享mengxin 回复了问题 • 3 人关注 • 1 个回复 • 1136 次浏览 • 2019-10-11 16:00 • 来自相关话题

【经验分享】木疙瘩制作行走的时钟效果

原创分享qqf35714a4fc 发表了文章 • 3 个评论 • 848 次浏览 • 2019-10-07 15:03 • 来自相关话题

demo地址




木疙瘩制作如需源码请留言
demo地址
时钟.gif

木疙瘩制作如需源码请留言

【代码分享】代码实现倒计时效果

原创分享qqf35714a4fc 发表了文章 • 1 个评论 • 725 次浏览 • 2019-10-07 12:09 • 来自相关话题

demo地址共享源码地址有问题请联系 查看全部




【代码分享】ios12 ios13系统部分手机键盘无法自动收回问题

问题答疑ddbackhome 发表了文章 • 0 个评论 • 1965 次浏览 • 2019-09-25 17:50 • 来自相关话题

var scrollTop = 0;

window.addEventListener('focusin', function(){
scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
});
查看全部
var scrollTop = 0;

window.addEventListener('focusin', function(){
scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
});

window.addEventListener('focusout', function(){
window.scrollTo({
top: scrollTop,
behavior: "smooth"
});
});
 
 
把上面的代码加到作品的代码框里,然后保存,发布。
 
效果如图

ios13.png

 
 

【代码分享】首行缩进2个文字

原创分享lx_mgd 发表了文章 • 0 个评论 • 1249 次浏览 • 2019-06-20 10:53 • 来自相关话题

原理是使用回调函数来给文本和文本段落加上2文字宽度的缩进。使用时,给需要的文本或文本段落加上出现就执行的回调行为。回调函数的名称是 customindent mugeda.addEventListener("renderready", function(){

windo 查看全部
原理是使用回调函数来给文本和文本段落加上2文字宽度的缩进。使用时,给需要的文本或文本段落加上出现就执行的回调行为。回调函数的名称是 customindent 
mugeda.addEventListener("renderready", function(){

window.customindent = function(ele){
ele.dom.childNodes[0].style.cssText += "text-indent:2em"
}

});

 在以下公众号回复“缩进2文字”,获取本文的源文件链接
 

扫码.png

 

【代码分享】超少代码实现到特定时间活动结束的效果

原创分享qqf35714a4fc 发表了文章 • 0 个评论 • 1020 次浏览 • 2019-06-10 23:45 • 来自相关话题

mugeda.addEventListener("renderready", function(){
    var scene = mugeda.scene;
    var d = new Date();//获取现在的时间
    var x = d.getTime();// 查看全部
mugeda.addEventListener("renderready", function(){
    var scene = mugeda.scene;
    var d = new Date();//获取现在的时间
    var x = d.getTime();//返回自 1970 年 1 月 1 日以来的毫秒数:
    var aObject = scene.getObjectByName("time");
    mugeda.scene.getObjectByName('time').text = x;
});

 
我们先看看案例效果点击查看案例,到了明天下午1点钟后就会显示活动已结束。
把以上代码复制到你的作品js里面,然后在舞台新建一个文本命名为time。
然后你就会发现time文本就会变成
微信截图_20190610233239.png
一串类似这样的数字。
这个数字就是自 1970 年 1 月 1 日以来到现在的时间的毫秒数。
这个数字每次打开作品或刷新都会改变,然后你就在这串数字上做行为就行啦!
我是这样做的,新建一个定时器然后这样设置
微信截图_20190610234018.png

我图片里面这个数字就是,
1970 年 1 月 1 日到2019年6月11日13.00的毫秒数。
然后你就会发现我这个作品
到了明天下午1点中后打开就会显示活动已结束了。
这个毫秒数怎么来呢?
时间戳(Unix timestamp)转换工具
点上面的工具转换你要的时间即可。
当然这是一个,不完美的代码。
正如我所说要以超少代码实现到特定时间活动结束的效果。
下次再更新更好更快捷的代码方法。
有问题可回复或点击我空间联系。

【代码分享】设置作品只能在微信浏览器打开

原创分享qqf35714a4fc 发表了文章 • 1 个评论 • 1230 次浏览 • 2019-06-09 17:26 • 来自相关话题

var ua = navigator.userAgent.toLowerCase();  
            var isWeixin = ua.indexOf('micromessenger') != -1;   //这里判断是不是微信浏览器
             if (!isWeix 查看全部
var ua = navigator.userAgent.toLowerCase();  
            var isWeixin = ua.indexOf('micromessenger') != -1;   //这里判断是不是微信浏览器
             if (!isWeixin) {  
               document.head.innerHTML = '<title>请在微信客户端打开</title>';   //可更改里面的提示文字
                document.body.innerHTML = '<h3 style="text-align: center">请在微信客户端打开 </h3><div align="center"><img src="http://t.im/h4w1" width="300" /></div>';  
            }
             //页面提示内容 src=""双引号里面的网址可更换为自己作品的二维码链接
            //if (!isWeixin) {} 这个是执行内容
        
            

 
复制上方加粗代码到mugeda代码框里即可,有问题可回复或点击我空间联系。
 

【代码分享】检测用户屏幕是否是横的,并给出需要横屏的提示

原创分享lx_mgd 发表了文章 • 0 个评论 • 1564 次浏览 • 2019-06-06 14:29 • 来自相关话题

可以直接扫码看效果





 
 
作品用到了代码去检测屏幕是否是横的,如果是横的,就把提示移开,如果是竖直的,就把提示移到舞台中。
提示是一张图片,你可以自己修改替换,提示的图片最好加上怎样打开屏幕锁的说明,因为不是所有用户都明白打开屏幕锁是什么意思mugeda.addEventListene 查看全部
可以直接扫码看效果

横竖.png

 
 
作品用到了代码去检测屏幕是否是横的,如果是横的,就把提示移开,如果是竖直的,就把提示移到舞台中。
提示是一张图片,你可以自己修改替换,提示的图片最好加上怎样打开屏幕锁的说明,因为不是所有用户都明白打开屏幕锁是什么意思
mugeda.addEventListener("renderready", function(){
var scene = mugeda.scene;
var tips = scene.getObjectByName('提示');

var screenDirection = window.matchMedia("(orientation: portrait)");

screenDirection.addListener(handleOrientationChange);

handleOrientationChange(screenDirection);

function handleOrientationChange(screenDirection) {
if (screenDirection.matches) {
/* 竖屏处理事件 */
tips.top = 0;

} else {
/* 横屏屏处理事件 */
tips.top = -350;

}
}

});
 
 
在以下公众号回复“横屏提示”,获取本文的源文件链接

扫码.png

 

【代码分享】点击全屏预览图片(幻灯片形式),双指缩放图片效果

原创分享lx_mgd 发表了文章 • 4 个评论 • 3252 次浏览 • 2019-05-31 14:17 • 来自相关话题

先预览一下看效果:





 
https://e.u.mgd5.com/c/ams9/uni0/index.html
 

 
下边的是内容里需要添加的代码mugeda.addEventListener("renderready", function(){
var 查看全部
先预览一下看效果:

sss.png

 
https://e.u.mgd5.com/c/ams9/uni0/index.html
 

 
下边的是内容里需要添加的代码
mugeda.addEventListener("renderready", function(){
var scene = mugeda.scene;
window.checkuseragent = function(){
var useragent = navigator.userAgent;
if (useragent.match(/MicroMessenger/i) != 'MicroMessenger') {
return false;
}else{
return true;
}
}

var picArr = ;
window.getimgurl = function(){
var max = 5; //这里的数字是需要按你自己图片的数量修改的
var j;
var picdom;
for (i = 0; i < max; i++) {
j = i+1;
picdom = scene.getObjectByName('pic'+j).dom;
picArr.push(picdom.src);
}
}

window.customview = function(){
if(checkuseragent()){
wx.previewImage({
current: picArr[0],
urls: picArr
});
}

}

});

需要注意的:
1.把需要用户点击的元素放在舞台中,并上添加点击时执行回调函数customview,其他图片需要上传到素材库后再放到舞台外,图片命名规则是pic1,pic2,pic3,pic4等,本例子中是把pic1设置成需要用户点击的物体了
2.图片加载需要时间,所以最好使用一个定时器来初始化预览效果,定时器加回调函数getimgurl,等待定时器结束时执行回调
3.这个效果只在微信里生效,其他地方无效
4.如果你的图片数量不是5,那么需要在代码里把 var max = 5; 这里的数字修改成你图片的数量
 
 
在以下公众号回复“全屏预览图片”,获取本文的源文件链接
 

扫码.png

 
 

【代码分享】判断多选控件选中了几个

原创分享lx_mgd 发表了文章 • 0 个评论 • 1511 次浏览 • 2019-05-15 14:07 • 来自相关话题

如果选中了3个,点“验证”文本时,会判断出选中了3个,不然会判断没选中3个。“验证”文本上设置了回调函数,会去检查“复选框1”的内容。
 mugeda.addEventListener("renderready", function(){
var scene = muge 查看全部

如果选中了3个,点“验证”文本时,会判断出选中了3个,不然会判断没选中3个。“验证”文本上设置了回调函数,会去检查“复选框1”的内容。
 
mugeda.addEventListener("renderready", function(){
var scene = mugeda.scene;
var fuxuankuang = scene.getObjectByName('复选框1');

window.selectchecklist = function(){
var _arr = fuxuankuang.text.split(';');
if(_arr.length == 3){
scene.getObjectByName('判断结果').text = '已选3个';
}else{
scene.getObjectByName('判断结果').text = '不是3个'
}
}

});

 
在以下公众号回复“判断多选”,获取本文的源文件链接

扫码.png

 
 

【代码分享】在木疙瘩中添加雷达图的方法

原创分享ddbackhome 发表了文章 • 2 个评论 • 1724 次浏览 • 2019-03-13 11:34 • 来自相关话题

木疙瘩自己并没有雷达图功能,但可以使用代码来生成,下面是一个案例
 
发布链接:https://6.u.mgd5.com/c/n20h/q8hp/index.html
发布链接预览:





 
 
打开下边的链接并另存
https://www.mugeda.com/animation/edit 查看全部
木疙瘩自己并没有雷达图功能,但可以使用代码来生成,下面是一个案例
 
发布链接:https://6.u.mgd5.com/c/n20h/q8hp/index.html
发布链接预览:

下载.png

 
 
打开下边的链接并另存
https://www.mugeda.com/animation/edit/6b202b89
 
作品中用到了js来生成canvas,并在canvas中绘制了雷达图,两个文本上分别设置了两个回调函数,点击文本,即可调用回调函数生成雷达图。代码使用 scene.getObjectByName('chartContainer').dom 把mugeda对象转换成dom对象,然后才可以使用原生js来进行操作,这里是api文档,可以参考一下:http://card.mugeda.com/mugedaApiDoc/index.html
 
mugeda.addEventListener("renderready", function(){
var scene = mugeda.scene;
var chartContainer = scene.getObjectByName('chartContainer').dom;

var mW = 300; //雷达图的宽
var mH = 300; //雷达图的高
var mData = [['速度', 77],['力量', 72],['防守', 46],['射门', 50],['传球', 80],['耐力', 60]];
var mCount = mData.length; //边数
var mCenter = mW /2; //中心点
var mRadius = mCenter - 50; //半径(减去的值用于给绘制的文本留空间)
var mAngle = Math.PI * 2 / mCount; //角度
var mCtx = null;
var mColorPolygon = '#B8B8B8'; //多边形颜色
var mColorLines = '#B8B8B8'; //顶点连线颜色
var mColorText = '#000000';
var canvas;

//回调函数
window.createRadarChat = function(){
//初始化
// (function(){
// var canvas = document.createElement('canvas');

// document.body.appendChild(canvas);
// chartContainer.appendChild(canvas);

chartContainer.innerHTML = '<canvas id="myCart"></canvas>';
canvas = document.getElementById('myCart');

canvas.height = mH;
canvas.width = mW;
mCtx = canvas.getContext('2d');

drawPolygon(mCtx);
drawLines(mCtx);
drawText(mCtx);
drawRegion(mCtx);
drawCircle(mCtx);
// })();
}

//回调函数
window.changeChart = function(){
mData = [['速度', 70],['力量', 32],['防守', 16],['射门', 90],['传球', 80],['耐力', 60]];

chartContainer.innerHTML = '<canvas id="myCart"></canvas>';

canvas = document.getElementById('myCart');

canvas.height = mH;
canvas.width = mW;
mCtx = canvas.getContext('2d');

drawPolygon(mCtx);
drawLines(mCtx);
drawText(mCtx);
drawRegion(mCtx);
drawCircle(mCtx);
}

// 绘制多边形边
function drawPolygon(ctx){
ctx.save();

ctx.strokeStyle = mColorPolygon;
var r = mRadius/ mCount; //单位半径
//画6个圈
for(var i = 0; i < mCount; i ++){
ctx.beginPath();
var currR = r * ( i + 1); //当前半径
//画6条边
for(var j = 0; j < mCount; j ++){
var x = mCenter + currR * Math.cos(mAngle * j);
var y = mCenter + currR * Math.sin(mAngle * j);

ctx.lineTo(x, y);
}
ctx.closePath()
ctx.stroke();
}

ctx.restore();
}

//顶点连线
function drawLines(ctx){
ctx.save();

ctx.beginPath();
ctx.strokeStyle = mColorLines;

for(var i = 0; i < mCount; i ++){
var x = mCenter + mRadius * Math.cos(mAngle * i);
var y = mCenter + mRadius * Math.sin(mAngle * i);

ctx.moveTo(mCenter, mCenter);
ctx.lineTo(x, y);
}

ctx.stroke();

ctx.restore();
}

//绘制文本
function drawText(ctx){
ctx.save();

var fontSize = mCenter / 12;
ctx.font = fontSize + 'px Microsoft Yahei';
ctx.fillStyle = mColorText;

for(var i = 0; i < mCount; i ++){
var x = mCenter + mRadius * Math.cos(mAngle * i);
var y = mCenter + mRadius * Math.sin(mAngle * i);

if( mAngle * i >= 0 && mAngle * i <= Math.PI / 2 ){
ctx.fillText(mData[i][0], x, y + fontSize);
}else if(mAngle * i > Math.PI / 2 && mAngle * i <= Math.PI){
ctx.fillText(mData[i][0], x - ctx.measureText(mData[i][0]).width, y + fontSize);
}else if(mAngle * i > Math.PI && mAngle * i <= Math.PI * 3 / 2){
ctx.fillText(mData[i][0], x - ctx.measureText(mData[i][0]).width, y);
}else{
ctx.fillText(mData[i][0], x, y);
}

}

ctx.restore();
}

//绘制数据区域
function drawRegion(ctx){
ctx.save();

ctx.beginPath();
for(var i = 0; i < mCount; i ++){
var x = mCenter + mRadius * Math.cos(mAngle * i) * mData[i][1] / 100;
var y = mCenter + mRadius * Math.sin(mAngle * i) * mData[i][1] / 100;

ctx.lineTo(x, y);
}
ctx.closePath();
ctx.fillStyle = 'rgba(255, 0, 0, 0.5)';
ctx.fill();

ctx.restore();
}

//画点
function drawCircle(ctx){
ctx.save();

var r = mCenter / 30;
for(var i = 0; i < mCount; i ++){
var x = mCenter + mRadius * Math.cos(mAngle * i) * mData[i][1] / 100;
var y = mCenter + mRadius * Math.sin(mAngle * i) * mData[i][1] / 100;

ctx.beginPath();
ctx.arc(x, y, r, 0, Math.PI * 2);
ctx.fillStyle = 'rgba(255, 0, 0, 0.8)';
ctx.fill();
}

ctx.restore();
}

// 代码参考以下博客
// 原文:https://blog.csdn.net/lecepin/ ... 66711


});


【代码分享】H5拜年模版定制分享信息的优化方法

原创分享qz 发表了文章 • 0 个评论 • 2398 次浏览 • 2019-01-31 11:21 • 来自相关话题

上周发放的H5拜年模版在定制祝福后,不能立即将定制祝福更新到分享信息上,以下为解决办法:
 
方法一(推荐):
直接另存升级后的源文件地址:
https://www.mugeda.com/animation/edit/6c678499
 
方法二:
1、在已有的模版基础上添加一段代码window.a 查看全部
上周发放的H5拜年模版在定制祝福后,不能立即将定制祝福更新到分享信息上,以下为解决办法:
 
方法一(推荐):
直接另存升级后的源文件地址:
https://www.mugeda.com/animation/edit/6c678499
 
方法二:

1、在已有的模版基础上添加一段代码
window.aaaa = function(){
var to = mugeda.scene.getObjectByName('收件人');
var greeting = mugeda.scene.getObjectByName('祝福语');
var from = mugeda.scene.getObjectByName('发件人');
defineWechatParameters({
title: from.text + "给您拜年啦",
desc: greeting.text
});
}
2、在第3页右侧的确定按钮上添加行为
双击第3页舞台右侧定制弹窗组;
点击“确定”按钮,打开行为窗口;
添加行为:属性控制 > 回调函数;
jietu1.png

点击编辑行为,输入函数名为:aaaa
jietu2.png

 
这样,在用户定制祝福后,分享时祝福语、发卡人就即时出现在分享信息中了,效果如下:
截图3.png

 
 

【代码分享】设置视频从第几秒开始播放

原创分享lx_mgd 发表了文章 • 2 个评论 • 1719 次浏览 • 2019-01-17 14:26 • 来自相关话题

目前控制视频的行为还没有这个效果,但可以使用代码来实现。
可以向智能客服回复“api”得到官方的api地址。
 





 
视频取名为vvvv,然后在代码里使用api获取了它。
 
红色框住的是名字为 jumpto 的回调函数
 




 
这个是文字上加的回调函数,其中参数1是要跳的秒数 查看全部
目前控制视频的行为还没有这个效果,但可以使用代码来实现。
可以向智能客服回复“api”得到官方的api地址。
 

视频.png

 
视频取名为vvvv,然后在代码里使用api获取了它。
 
红色框住的是名字为 jumpto 的回调函数
 
回调设置.png

 
这个是文字上加的回调函数,其中参数1是要跳的秒数,可以修改
  
 
在以下公众号回复”视频跳秒源文件“,获取本文的源文件链接
公众号二维码粉蓝色人物活动矢量中文微信公众号二维码.png

 

【代码分享】在mugeda里使用高德地图或腾讯地图以及导航的方法

原创分享lx_mgd 发表了文章 • 2 个评论 • 2798 次浏览 • 2018-12-13 13:59 • 来自相关话题

 
方法一,使用默认的木疙瘩地图行为:
 
比如从地图上获得的这些信息
奥林匹克森林公园
北京市朝阳区科荟路33号
 
需要分别填到两个输入框里。















 
 
 
 
方法二,使用跳转链接,直接跳到网页链接:

一般而言,地图服务都会有一个电脑版本和手机版,
比如高德 查看全部
 
方法一,使用默认的木疙瘩地图行为:
 
比如从地图上获得的这些信息
奥林匹克森林公园
北京市朝阳区科荟路33号
 
需要分别填到两个输入框里。

奥森.png


地图.png


地图结果.png

 
 
 
 
方法二,使用跳转链接,直接跳到网页链接:

一般而言,地图服务都会有一个电脑版本和手机版,
比如高德电脑版本是:https://ditu.amap.com,可以搜索到高德手机版网址是:https://m.amap.com
 
现在需要做的就是直接用手机的默认浏览器去访问高德地图的手机版本网址,搜索你的结果,比如说“中关村”。
得到结果后,手机上浏览器的网址会变
成 https://m.amap.com/search/mapview/keywords=%E4%B8%AD%E5%85%B3%E6%9D%91
 
现在需要把这个网址复制一下,填到mugeda里的跳转链接行为里

图片.png

 
最后一步,保存,发布作品,完成。效果就是用户点击这个行为,会跳转到网页链接。
 
编辑链接:
https://www.mugeda.com/animation/edit/4e3a0bb4
最终效果:
https://e.u.mgd5.com/c/ams9/3whw/index.html
 
 
 
方法三,使用代码:
这个方法会调用微信自带的地图功能,效果最为流畅, 大概效果如下图。

640.gif

 
 
使用此方法打开地图功能后,可以调用手机上其他的地图app,比如苹果地图,高德地图等,同时关闭地图功能可以回到H5之前的页面,上边的方法二不能回到H5之前的页面,只能回到H5开头。
 

这是公众号文章链接,可以直接打开看描述:  https://mp.weixin.qq.com/s/NIiJRkGvqkixw2jJjcQQVg

你可以在以下公众号回复“地图导航预览效果”,得到预览链接,在手机上测试效果。

扫码.png

 
条新动态, 点击查看
mugeda.addEventListener('renderready',function(){

    document.addEventListener('touchmove',function(e){
        e.preventDefault... 显示全部 »
mugeda.addEventListener('renderready',function(){

    document.addEventListener('touchmove',function(e){
        e.preventDefault();
    },false);
});

【已解决】身份证的验证代码,各种表单验证

回复

BUG反馈qqf35714a4fc 发起了问题 • 1 人关注 • 0 个回复 • 92 次浏览 • 2021-04-02 17:35 • 来自相关话题

【已解决】api 修改文本字体颜色

回复

BUG反馈wx2199026830 回复了问题 • 4 人关注 • 2 个回复 • 2898 次浏览 • 2021-04-01 17:58 • 来自相关话题

【已解决】木疙瘩制作京东秒杀倒计时效果

回复

BUG反馈qqf35714a4fc 发起了问题 • 1 人关注 • 0 个回复 • 98 次浏览 • 2021-03-30 17:07 • 来自相关话题

【已解决】如何在木疙瘩中用代码添加倒计时功能

回复

BUG反馈qqf35714a4fc 发起了问题 • 1 人关注 • 0 个回复 • 101 次浏览 • 2021-03-30 14:40 • 来自相关话题

有没有api导入地图的教程

回复

问题答疑ddbackhome 回复了问题 • 1 人关注 • 1 个回复 • 103 次浏览 • 2021-03-26 14:40 • 来自相关话题

2.9.1 API的应用:在动画中添加代码

回复

原创分享m8499519 回复了问题 • 6 人关注 • 1 个回复 • 6878 次浏览 • 2020-06-08 08:43 • 来自相关话题

【代码分享】随机不重复跳帧或跳页面

回复

原创分享lx_mgd 回复了问题 • 7 人关注 • 2 个回复 • 4360 次浏览 • 2020-05-27 11:27 • 来自相关话题

【代码分享】屏蔽长按图片出现的保存图片系统菜单

回复

原创分享mengxin 回复了问题 • 12 人关注 • 4 个回复 • 7423 次浏览 • 2019-11-25 13:58 • 来自相关话题

【经验分享】点击复制文本效果

回复

原创分享mengxin 回复了问题 • 3 人关注 • 1 个回复 • 1136 次浏览 • 2019-10-11 16:00 • 来自相关话题

【代码分享】动态修改作品最上方的网页标题/内容标题

回复

原创分享lx_mgd 发起了问题 • 2 人关注 • 0 个回复 • 3295 次浏览 • 2018-09-17 16:07 • 来自相关话题

【代码分享】修复横屏下拖动长图时屏幕也被拖动的问题

回复

原创分享lx_mgd 回复了问题 • 5 人关注 • 2 个回复 • 6061 次浏览 • 2018-08-22 17:01 • 来自相关话题

【代码分享】mugeda api 文档地址

回复

原创分享lx_mgd 发起了问题 • 1 人关注 • 0 个回复 • 3349 次浏览 • 2018-08-03 11:39 • 来自相关话题

【已解决】如何导出代码后,在第三方服务器上实现自定义分享标题和图标

回复

问题答疑wangqiezi119 回复了问题 • 7 人关注 • 5 个回复 • 4913 次浏览 • 2018-05-10 13:43 • 来自相关话题

【代码分享】去掉提交表单时的默认提示弹窗或其他系统提示

回复

原创分享lx_mgd 发起了问题 • 4 人关注 • 0 个回复 • 4161 次浏览 • 2017-08-08 15:32 • 来自相关话题

【代码分享】根据不同条件跳转不同页面

回复

原创分享lx_mgd 发起了问题 • 3 人关注 • 0 个回复 • 2972 次浏览 • 2017-08-01 11:29 • 来自相关话题

2.9.3 API的应用:Mugeda对象

回复

原创分享mingyue 发起了问题 • 1 人关注 • 0 个回复 • 4853 次浏览 • 2016-09-07 11:37 • 来自相关话题

MugedaAPI介绍案例已失效,求新版!

回复

新功能需求mingyue 回复了问题 • 3 人关注 • 1 个回复 • 3017 次浏览 • 2016-07-19 17:29 • 来自相关话题

制作格式为天/时/分/秒的倒计时动画

案例分享qqf35714a4fc 发表了文章 • 0 个评论 • 52 次浏览 • 2021-03-30 14:35 • 来自相关话题

制作格式为天/时/分/秒的倒计时动画做出当前时间的倒计时?如何在木疙瘩中用代码添加倒计时功能


欢迎交流谢谢
  1. 制作格式为天/时/分/秒的倒计时动画
  2. 做出当前时间的倒计时?
  3. 如何在木疙瘩中用代码添加倒计时功能
  4. QQ截图20210330142506.jpg
  5. 欢迎交流
  6. 谢谢

【代码分享】自定义视频的进度条(控制块)

原创分享lx_mgd 发表了文章 • 0 个评论 • 538 次浏览 • 2020-08-21 17:30 • 来自相关话题

 
发布链接

https://6.u.mgd5.com/c/n20h/hwr3/index.html 

扫码看效果







使用的代码如下mugeda.addEventListener("renderready", function(){
var scene 查看全部
 
发布链接

https://6.u.mgd5.com/c/n20h/hwr3/index.html 

扫码看效果

代码版进度条.png



使用的代码如下
mugeda.addEventListener("renderready", function(){
var scene = mugeda.scene;
var myvideo = scene.getObjectByName('播放的视频');
var videodom;
var durationBtn = scene.getObjectByName('进度');

window.changeduration = function(){
videodom = myvideo.dom.childNodes[3];
console.log('btn position changed');
videodom.currentTime = videodom.duration*(scene.getObjectByName('进度').left - 100)/(500-100)
}

window.getvideoduration = function(){
if(!myvideo.dom) return;
videodom = myvideo.dom.childNodes[3];
console.log(videodom)
}

window.myScript = function(){
if(!videodom) return;
console.log(videodom.currentTime)
durationBtn.left = 100+(500-100)*videodom.currentTime/videodom.duration

}
});

代码里使用到aObject对象的dom属性。在木疙瘩里舞台上每个取了名的物体都可以用api来定位到,定位的就是它的aObject对象,aObject对象可以使用dom属性获取元素实际的dom。
 
api地址

https://card.mugeda.com/mugedaApiDoc/index.html
 
作品中添加代码的地方在
 

视频进度条添加代码.png

 
 
 
在以下公众号回复“视频进度块”,获取本文的源文件链接

扫码.png

 

 

【代码分享】点屏幕时出现爱心动画效果

原创分享lx_mgd 发表了文章 • 2 个评论 • 607 次浏览 • 2020-05-20 14:48 • 来自相关话题

 
可扫这个码在手机上看效果





 
主要是用了这些代码,从元件库里新建元件并添加到舞台,然后设置舞台上元件实例的坐标,最后删除它mugeda.addEventListener("renderready", function(){
var scene = muge 查看全部
 
可扫这个码在手机上看效果

爱心效果.png

 
主要是用了这些代码,从元件库里新建元件并添加到舞台,然后设置舞台上元件实例的坐标,最后删除它
mugeda.addEventListener("renderready", function(){
var scene = mugeda.scene;
var dianjiquyu = scene.getObjectByName("点击区域");

dianjiquyu.addEventListener("click", function(e){
// 为元件创建新的实例,并增加到主舞台
var aObject = mugeda.createInstanceOfSymbol("爱心");

// this指向aObject
// 提供inputX和inputY属性,获取相对于舞台的坐标值
var x = e.inputX;
var y = e.inputY;

scene.appendChild(aObject);

aObject.left = x - aObject.width/2;
aObject.top = y - aObject.height;

// 1秒后删除刚刚加入的物体
setTimeout(function(){
scene.removeChild(aObject);
}, 1000);

});


//scene.appendChild(aObject, behaindAObject, pageIndex);
//可以将物体添加到舞台上
//第二个参数behaindAObject是舞台上某个动画元素,这个参数也可以是null
//第三个参数是页面的编号

});






api文档: https://card.mugeda.com/mugedaApiDoc/index.html
 
 
 

在以下公众号回复”爱心效果“,获取本文的源文件链接
 
扫码.png

 

【代码分享】使用回调函数去掉发布链接里多余的参数

原创分享ddbackhome 发表了文章 • 0 个评论 • 591 次浏览 • 2020-02-10 14:13 • 来自相关话题

发布链接在用户浏览的过程中,有时会临时生成一些参数,转发给新用户打开时这些参数也会存在,有些时候可能会造成新用户看到的内容与我们预期的不一样。
 
比如,绘画板画好后转给新用户,不想让新用户看到上一个用户绘画板的内容。
 
解决方法是某些地方添加回调函数 reseturl,让用户转发时去掉多余的参数 查看全部
发布链接在用户浏览的过程中,有时会临时生成一些参数,转发给新用户打开时这些参数也会存在,有些时候可能会造成新用户看到的内容与我们预期的不一样。
 
比如,绘画板画好后转给新用户,不想让新用户看到上一个用户绘画板的内容。
 
解决方法是某些地方添加回调函数 reseturl,让用户转发时去掉多余的参数。其中发布链接那里需要修改成你作品的发布链接。
mugeda.addEventListener("renderready", function(){

window.reseturl = function(){
defineWechatParameters({
url_callback: function(){
return "发布链接";
}
});
}

});



 
 
 
下边是demo链接,可以打开另存https://www.mugeda.com/animation/edit/95388534

【代码分享】模拟手机通话时间效果

原创分享ddbackhome 发表了文章 • 2 个评论 • 620 次浏览 • 2020-01-16 15:07 • 来自相关话题

https://www.mugeda.com/animation/edit/300ac6ca
 
可以打开另存一下
 
效果如图:
 





 
https://www.mugeda.com/animation/edit/300ac6ca
 
可以打开另存一下
 
效果如图:
 

sss.png

 

【代码分享】禁止长按保存,鼠标右键另存图片

原创分享qqf35714a4fc 发表了文章 • 0 个评论 • 840 次浏览 • 2019-10-21 15:41 • 来自相关话题

安卓系统实测可以,ios系统未测试。
查看地址







源码地址:https://cn.mugeda.com/animation/edit/c376fde2
把下面代码复制到脚本窗口,把你要禁止长按保存的图片命名,微信号替换为你命名的图片名字。
 

mugeda.addEventListe 查看全部
安卓系统实测可以,ios系统未测试。
查看地址


禁止另存图片.gif


源码地址:https://cn.mugeda.com/animation/edit/c376fde2
把下面代码复制到脚本窗口,把你要禁止长按保存的图片命名,微信号替换为你命名的图片名字。
 

mugeda.addEventListener("renderready", function(){
     var scene = mugeda.scene;

     scene.getObjectByName('微信号').dom.style.cssText += "pointer-events:none";

});

 

【经验分享】装13印章生成器

原创分享qqf35714a4fc 发表了文章 • 0 个评论 • 676 次浏览 • 2019-10-13 01:31 • 来自相关话题

查看地址模板地址





  查看全部

【经验分享】物理碰撞小游戏

原创分享qqf35714a4fc 发表了文章 • 0 个评论 • 902 次浏览 • 2019-10-11 17:01 • 来自相关话题

查看地址

【经验分享】木疙瘩制作行走的时钟效果

原创分享qqf35714a4fc 发表了文章 • 3 个评论 • 848 次浏览 • 2019-10-07 15:03 • 来自相关话题

demo地址




木疙瘩制作如需源码请留言
demo地址
时钟.gif

木疙瘩制作如需源码请留言

【代码分享】代码实现倒计时效果

原创分享qqf35714a4fc 发表了文章 • 1 个评论 • 725 次浏览 • 2019-10-07 12:09 • 来自相关话题

demo地址共享源码地址有问题请联系 查看全部




【代码分享】ios12 ios13系统部分手机键盘无法自动收回问题

问题答疑ddbackhome 发表了文章 • 0 个评论 • 1965 次浏览 • 2019-09-25 17:50 • 来自相关话题

var scrollTop = 0;

window.addEventListener('focusin', function(){
scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
});
查看全部
var scrollTop = 0;

window.addEventListener('focusin', function(){
scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
});

window.addEventListener('focusout', function(){
window.scrollTo({
top: scrollTop,
behavior: "smooth"
});
});
 
 
把上面的代码加到作品的代码框里,然后保存,发布。
 
效果如图

ios13.png

 
 

【代码分享】首行缩进2个文字

原创分享lx_mgd 发表了文章 • 0 个评论 • 1249 次浏览 • 2019-06-20 10:53 • 来自相关话题

原理是使用回调函数来给文本和文本段落加上2文字宽度的缩进。使用时,给需要的文本或文本段落加上出现就执行的回调行为。回调函数的名称是 customindent mugeda.addEventListener("renderready", function(){

windo 查看全部
原理是使用回调函数来给文本和文本段落加上2文字宽度的缩进。使用时,给需要的文本或文本段落加上出现就执行的回调行为。回调函数的名称是 customindent 
mugeda.addEventListener("renderready", function(){

window.customindent = function(ele){
ele.dom.childNodes[0].style.cssText += "text-indent:2em"
}

});

 在以下公众号回复“缩进2文字”,获取本文的源文件链接
 

扫码.png

 

【代码分享】超少代码实现到特定时间活动结束的效果

原创分享qqf35714a4fc 发表了文章 • 0 个评论 • 1020 次浏览 • 2019-06-10 23:45 • 来自相关话题

mugeda.addEventListener("renderready", function(){
    var scene = mugeda.scene;
    var d = new Date();//获取现在的时间
    var x = d.getTime();// 查看全部
mugeda.addEventListener("renderready", function(){
    var scene = mugeda.scene;
    var d = new Date();//获取现在的时间
    var x = d.getTime();//返回自 1970 年 1 月 1 日以来的毫秒数:
    var aObject = scene.getObjectByName("time");
    mugeda.scene.getObjectByName('time').text = x;
});

 
我们先看看案例效果点击查看案例,到了明天下午1点钟后就会显示活动已结束。
把以上代码复制到你的作品js里面,然后在舞台新建一个文本命名为time。
然后你就会发现time文本就会变成
微信截图_20190610233239.png
一串类似这样的数字。
这个数字就是自 1970 年 1 月 1 日以来到现在的时间的毫秒数。
这个数字每次打开作品或刷新都会改变,然后你就在这串数字上做行为就行啦!
我是这样做的,新建一个定时器然后这样设置
微信截图_20190610234018.png

我图片里面这个数字就是,
1970 年 1 月 1 日到2019年6月11日13.00的毫秒数。
然后你就会发现我这个作品
到了明天下午1点中后打开就会显示活动已结束了。
这个毫秒数怎么来呢?
时间戳(Unix timestamp)转换工具
点上面的工具转换你要的时间即可。
当然这是一个,不完美的代码。
正如我所说要以超少代码实现到特定时间活动结束的效果。
下次再更新更好更快捷的代码方法。
有问题可回复或点击我空间联系。

【代码分享】设置作品只能在微信浏览器打开

原创分享qqf35714a4fc 发表了文章 • 1 个评论 • 1230 次浏览 • 2019-06-09 17:26 • 来自相关话题

var ua = navigator.userAgent.toLowerCase();  
            var isWeixin = ua.indexOf('micromessenger') != -1;   //这里判断是不是微信浏览器
             if (!isWeix 查看全部
var ua = navigator.userAgent.toLowerCase();  
            var isWeixin = ua.indexOf('micromessenger') != -1;   //这里判断是不是微信浏览器
             if (!isWeixin) {  
               document.head.innerHTML = '<title>请在微信客户端打开</title>';   //可更改里面的提示文字
                document.body.innerHTML = '<h3 style="text-align: center">请在微信客户端打开 </h3><div align="center"><img src="http://t.im/h4w1" width="300" /></div>';  
            }
             //页面提示内容 src=""双引号里面的网址可更换为自己作品的二维码链接
            //if (!isWeixin) {} 这个是执行内容
        
            

 
复制上方加粗代码到mugeda代码框里即可,有问题可回复或点击我空间联系。
 

【代码分享】检测用户屏幕是否是横的,并给出需要横屏的提示

原创分享lx_mgd 发表了文章 • 0 个评论 • 1564 次浏览 • 2019-06-06 14:29 • 来自相关话题

可以直接扫码看效果





 
 
作品用到了代码去检测屏幕是否是横的,如果是横的,就把提示移开,如果是竖直的,就把提示移到舞台中。
提示是一张图片,你可以自己修改替换,提示的图片最好加上怎样打开屏幕锁的说明,因为不是所有用户都明白打开屏幕锁是什么意思mugeda.addEventListene 查看全部
可以直接扫码看效果

横竖.png

 
 
作品用到了代码去检测屏幕是否是横的,如果是横的,就把提示移开,如果是竖直的,就把提示移到舞台中。
提示是一张图片,你可以自己修改替换,提示的图片最好加上怎样打开屏幕锁的说明,因为不是所有用户都明白打开屏幕锁是什么意思
mugeda.addEventListener("renderready", function(){
var scene = mugeda.scene;
var tips = scene.getObjectByName('提示');

var screenDirection = window.matchMedia("(orientation: portrait)");

screenDirection.addListener(handleOrientationChange);

handleOrientationChange(screenDirection);

function handleOrientationChange(screenDirection) {
if (screenDirection.matches) {
/* 竖屏处理事件 */
tips.top = 0;

} else {
/* 横屏屏处理事件 */
tips.top = -350;

}
}

});
 
 
在以下公众号回复“横屏提示”,获取本文的源文件链接

扫码.png

 

【代码分享】点击全屏预览图片(幻灯片形式),双指缩放图片效果

原创分享lx_mgd 发表了文章 • 4 个评论 • 3252 次浏览 • 2019-05-31 14:17 • 来自相关话题

先预览一下看效果:





 
https://e.u.mgd5.com/c/ams9/uni0/index.html
 

 
下边的是内容里需要添加的代码mugeda.addEventListener("renderready", function(){
var 查看全部
先预览一下看效果:

sss.png

 
https://e.u.mgd5.com/c/ams9/uni0/index.html
 

 
下边的是内容里需要添加的代码
mugeda.addEventListener("renderready", function(){
var scene = mugeda.scene;
window.checkuseragent = function(){
var useragent = navigator.userAgent;
if (useragent.match(/MicroMessenger/i) != 'MicroMessenger') {
return false;
}else{
return true;
}
}

var picArr = ;
window.getimgurl = function(){
var max = 5; //这里的数字是需要按你自己图片的数量修改的
var j;
var picdom;
for (i = 0; i < max; i++) {
j = i+1;
picdom = scene.getObjectByName('pic'+j).dom;
picArr.push(picdom.src);
}
}

window.customview = function(){
if(checkuseragent()){
wx.previewImage({
current: picArr[0],
urls: picArr
});
}

}

});

需要注意的:
1.把需要用户点击的元素放在舞台中,并上添加点击时执行回调函数customview,其他图片需要上传到素材库后再放到舞台外,图片命名规则是pic1,pic2,pic3,pic4等,本例子中是把pic1设置成需要用户点击的物体了
2.图片加载需要时间,所以最好使用一个定时器来初始化预览效果,定时器加回调函数getimgurl,等待定时器结束时执行回调
3.这个效果只在微信里生效,其他地方无效
4.如果你的图片数量不是5,那么需要在代码里把 var max = 5; 这里的数字修改成你图片的数量
 
 
在以下公众号回复“全屏预览图片”,获取本文的源文件链接
 

扫码.png

 
 

【代码分享】判断多选控件选中了几个

原创分享lx_mgd 发表了文章 • 0 个评论 • 1511 次浏览 • 2019-05-15 14:07 • 来自相关话题

如果选中了3个,点“验证”文本时,会判断出选中了3个,不然会判断没选中3个。“验证”文本上设置了回调函数,会去检查“复选框1”的内容。
 mugeda.addEventListener("renderready", function(){
var scene = muge 查看全部

如果选中了3个,点“验证”文本时,会判断出选中了3个,不然会判断没选中3个。“验证”文本上设置了回调函数,会去检查“复选框1”的内容。
 
mugeda.addEventListener("renderready", function(){
var scene = mugeda.scene;
var fuxuankuang = scene.getObjectByName('复选框1');

window.selectchecklist = function(){
var _arr = fuxuankuang.text.split(';');
if(_arr.length == 3){
scene.getObjectByName('判断结果').text = '已选3个';
}else{
scene.getObjectByName('判断结果').text = '不是3个'
}
}

});

 
在以下公众号回复“判断多选”,获取本文的源文件链接

扫码.png

 
 

【代码分享】在木疙瘩中添加雷达图的方法

原创分享ddbackhome 发表了文章 • 2 个评论 • 1724 次浏览 • 2019-03-13 11:34 • 来自相关话题

木疙瘩自己并没有雷达图功能,但可以使用代码来生成,下面是一个案例
 
发布链接:https://6.u.mgd5.com/c/n20h/q8hp/index.html
发布链接预览:





 
 
打开下边的链接并另存
https://www.mugeda.com/animation/edit 查看全部
木疙瘩自己并没有雷达图功能,但可以使用代码来生成,下面是一个案例
 
发布链接:https://6.u.mgd5.com/c/n20h/q8hp/index.html
发布链接预览:

下载.png

 
 
打开下边的链接并另存
https://www.mugeda.com/animation/edit/6b202b89
 
作品中用到了js来生成canvas,并在canvas中绘制了雷达图,两个文本上分别设置了两个回调函数,点击文本,即可调用回调函数生成雷达图。代码使用 scene.getObjectByName('chartContainer').dom 把mugeda对象转换成dom对象,然后才可以使用原生js来进行操作,这里是api文档,可以参考一下:http://card.mugeda.com/mugedaApiDoc/index.html
 
mugeda.addEventListener("renderready", function(){
var scene = mugeda.scene;
var chartContainer = scene.getObjectByName('chartContainer').dom;

var mW = 300; //雷达图的宽
var mH = 300; //雷达图的高
var mData = [['速度', 77],['力量', 72],['防守', 46],['射门', 50],['传球', 80],['耐力', 60]];
var mCount = mData.length; //边数
var mCenter = mW /2; //中心点
var mRadius = mCenter - 50; //半径(减去的值用于给绘制的文本留空间)
var mAngle = Math.PI * 2 / mCount; //角度
var mCtx = null;
var mColorPolygon = '#B8B8B8'; //多边形颜色
var mColorLines = '#B8B8B8'; //顶点连线颜色
var mColorText = '#000000';
var canvas;

//回调函数
window.createRadarChat = function(){
//初始化
// (function(){
// var canvas = document.createElement('canvas');

// document.body.appendChild(canvas);
// chartContainer.appendChild(canvas);

chartContainer.innerHTML = '<canvas id="myCart"></canvas>';
canvas = document.getElementById('myCart');

canvas.height = mH;
canvas.width = mW;
mCtx = canvas.getContext('2d');

drawPolygon(mCtx);
drawLines(mCtx);
drawText(mCtx);
drawRegion(mCtx);
drawCircle(mCtx);
// })();
}

//回调函数
window.changeChart = function(){
mData = [['速度', 70],['力量', 32],['防守', 16],['射门', 90],['传球', 80],['耐力', 60]];

chartContainer.innerHTML = '<canvas id="myCart"></canvas>';

canvas = document.getElementById('myCart');

canvas.height = mH;
canvas.width = mW;
mCtx = canvas.getContext('2d');

drawPolygon(mCtx);
drawLines(mCtx);
drawText(mCtx);
drawRegion(mCtx);
drawCircle(mCtx);
}

// 绘制多边形边
function drawPolygon(ctx){
ctx.save();

ctx.strokeStyle = mColorPolygon;
var r = mRadius/ mCount; //单位半径
//画6个圈
for(var i = 0; i < mCount; i ++){
ctx.beginPath();
var currR = r * ( i + 1); //当前半径
//画6条边
for(var j = 0; j < mCount; j ++){
var x = mCenter + currR * Math.cos(mAngle * j);
var y = mCenter + currR * Math.sin(mAngle * j);

ctx.lineTo(x, y);
}
ctx.closePath()
ctx.stroke();
}

ctx.restore();
}

//顶点连线
function drawLines(ctx){
ctx.save();

ctx.beginPath();
ctx.strokeStyle = mColorLines;

for(var i = 0; i < mCount; i ++){
var x = mCenter + mRadius * Math.cos(mAngle * i);
var y = mCenter + mRadius * Math.sin(mAngle * i);

ctx.moveTo(mCenter, mCenter);
ctx.lineTo(x, y);
}

ctx.stroke();

ctx.restore();
}

//绘制文本
function drawText(ctx){
ctx.save();

var fontSize = mCenter / 12;
ctx.font = fontSize + 'px Microsoft Yahei';
ctx.fillStyle = mColorText;

for(var i = 0; i < mCount; i ++){
var x = mCenter + mRadius * Math.cos(mAngle * i);
var y = mCenter + mRadius * Math.sin(mAngle * i);

if( mAngle * i >= 0 && mAngle * i <= Math.PI / 2 ){
ctx.fillText(mData[i][0], x, y + fontSize);
}else if(mAngle * i > Math.PI / 2 && mAngle * i <= Math.PI){
ctx.fillText(mData[i][0], x - ctx.measureText(mData[i][0]).width, y + fontSize);
}else if(mAngle * i > Math.PI && mAngle * i <= Math.PI * 3 / 2){
ctx.fillText(mData[i][0], x - ctx.measureText(mData[i][0]).width, y);
}else{
ctx.fillText(mData[i][0], x, y);
}

}

ctx.restore();
}

//绘制数据区域
function drawRegion(ctx){
ctx.save();

ctx.beginPath();
for(var i = 0; i < mCount; i ++){
var x = mCenter + mRadius * Math.cos(mAngle * i) * mData[i][1] / 100;
var y = mCenter + mRadius * Math.sin(mAngle * i) * mData[i][1] / 100;

ctx.lineTo(x, y);
}
ctx.closePath();
ctx.fillStyle = 'rgba(255, 0, 0, 0.5)';
ctx.fill();

ctx.restore();
}

//画点
function drawCircle(ctx){
ctx.save();

var r = mCenter / 30;
for(var i = 0; i < mCount; i ++){
var x = mCenter + mRadius * Math.cos(mAngle * i) * mData[i][1] / 100;
var y = mCenter + mRadius * Math.sin(mAngle * i) * mData[i][1] / 100;

ctx.beginPath();
ctx.arc(x, y, r, 0, Math.PI * 2);
ctx.fillStyle = 'rgba(255, 0, 0, 0.8)';
ctx.fill();
}

ctx.restore();
}

// 代码参考以下博客
// 原文:https://blog.csdn.net/lecepin/ ... 66711


});


【代码分享】H5拜年模版定制分享信息的优化方法

原创分享qz 发表了文章 • 0 个评论 • 2398 次浏览 • 2019-01-31 11:21 • 来自相关话题

上周发放的H5拜年模版在定制祝福后,不能立即将定制祝福更新到分享信息上,以下为解决办法:
 
方法一(推荐):
直接另存升级后的源文件地址:
https://www.mugeda.com/animation/edit/6c678499
 
方法二:
1、在已有的模版基础上添加一段代码window.a 查看全部
上周发放的H5拜年模版在定制祝福后,不能立即将定制祝福更新到分享信息上,以下为解决办法:
 
方法一(推荐):
直接另存升级后的源文件地址:
https://www.mugeda.com/animation/edit/6c678499
 
方法二:

1、在已有的模版基础上添加一段代码
window.aaaa = function(){
var to = mugeda.scene.getObjectByName('收件人');
var greeting = mugeda.scene.getObjectByName('祝福语');
var from = mugeda.scene.getObjectByName('发件人');
defineWechatParameters({
title: from.text + "给您拜年啦",
desc: greeting.text
});
}
2、在第3页右侧的确定按钮上添加行为
双击第3页舞台右侧定制弹窗组;
点击“确定”按钮,打开行为窗口;
添加行为:属性控制 > 回调函数;
jietu1.png

点击编辑行为,输入函数名为:aaaa
jietu2.png

 
这样,在用户定制祝福后,分享时祝福语、发卡人就即时出现在分享信息中了,效果如下:
截图3.png

 
 

【代码分享】设置视频从第几秒开始播放

原创分享lx_mgd 发表了文章 • 2 个评论 • 1719 次浏览 • 2019-01-17 14:26 • 来自相关话题

目前控制视频的行为还没有这个效果,但可以使用代码来实现。
可以向智能客服回复“api”得到官方的api地址。
 





 
视频取名为vvvv,然后在代码里使用api获取了它。
 
红色框住的是名字为 jumpto 的回调函数
 




 
这个是文字上加的回调函数,其中参数1是要跳的秒数 查看全部
目前控制视频的行为还没有这个效果,但可以使用代码来实现。
可以向智能客服回复“api”得到官方的api地址。
 

视频.png

 
视频取名为vvvv,然后在代码里使用api获取了它。
 
红色框住的是名字为 jumpto 的回调函数
 
回调设置.png

 
这个是文字上加的回调函数,其中参数1是要跳的秒数,可以修改
  
 
在以下公众号回复”视频跳秒源文件“,获取本文的源文件链接
公众号二维码粉蓝色人物活动矢量中文微信公众号二维码.png

 

【代码分享】在mugeda里使用高德地图或腾讯地图以及导航的方法

原创分享lx_mgd 发表了文章 • 2 个评论 • 2798 次浏览 • 2018-12-13 13:59 • 来自相关话题

 
方法一,使用默认的木疙瘩地图行为:
 
比如从地图上获得的这些信息
奥林匹克森林公园
北京市朝阳区科荟路33号
 
需要分别填到两个输入框里。















 
 
 
 
方法二,使用跳转链接,直接跳到网页链接:

一般而言,地图服务都会有一个电脑版本和手机版,
比如高德 查看全部
 
方法一,使用默认的木疙瘩地图行为:
 
比如从地图上获得的这些信息
奥林匹克森林公园
北京市朝阳区科荟路33号
 
需要分别填到两个输入框里。

奥森.png


地图.png


地图结果.png

 
 
 
 
方法二,使用跳转链接,直接跳到网页链接:

一般而言,地图服务都会有一个电脑版本和手机版,
比如高德电脑版本是:https://ditu.amap.com,可以搜索到高德手机版网址是:https://m.amap.com
 
现在需要做的就是直接用手机的默认浏览器去访问高德地图的手机版本网址,搜索你的结果,比如说“中关村”。
得到结果后,手机上浏览器的网址会变
成 https://m.amap.com/search/mapview/keywords=%E4%B8%AD%E5%85%B3%E6%9D%91
 
现在需要把这个网址复制一下,填到mugeda里的跳转链接行为里

图片.png

 
最后一步,保存,发布作品,完成。效果就是用户点击这个行为,会跳转到网页链接。
 
编辑链接:
https://www.mugeda.com/animation/edit/4e3a0bb4
最终效果:
https://e.u.mgd5.com/c/ams9/3whw/index.html
 
 
 
方法三,使用代码:
这个方法会调用微信自带的地图功能,效果最为流畅, 大概效果如下图。

640.gif

 
 
使用此方法打开地图功能后,可以调用手机上其他的地图app,比如苹果地图,高德地图等,同时关闭地图功能可以回到H5之前的页面,上边的方法二不能回到H5之前的页面,只能回到H5开头。
 

这是公众号文章链接,可以直接打开看描述:  https://mp.weixin.qq.com/s/NIiJRkGvqkixw2jJjcQQVg

你可以在以下公众号回复“地图导航预览效果”,得到预览链接,在手机上测试效果。

扫码.png

 

【代码分享】播放音频的时候减少背景音乐的音量

原创分享lx_mgd 发表了文章 • 1 个评论 • 2701 次浏览 • 2017-12-05 17:52 • 来自相关话题

播放音频的时候减少背景音乐的音量,音频播放完成后再让背景音乐恢复原来的音量
 
主要思路是,物体上加行为来使用回调函数来减少音量,同时控制音频播放,然后在音频上加回调来恢复音量





 
使用到的代码:mugeda.addEventListener("renderready" 查看全部
播放音频的时候减少背景音乐的音量,音频播放完成后再让背景音乐恢复原来的音量
 
主要思路是,物体上加行为来使用回调函数来减少音量,同时控制音频播放,然后在音频上加回调来恢复音量

ctrlaudio.png

 
使用到的代码:
mugeda.addEventListener("renderready", function(){
var scene = mugeda.scene;
var bg;

window.lowerBgmusic = function(){
bg = window.backgroundMusic;
bg.volume = 0.2;
}

window.normalBgmusic = function(){
bg = window.backgroundMusic;
bg.volume = 1;
}

});
实际使用时可能需要把音频放到舞台外
 
 
 
在以下公众号回复“控制背景音乐”,获取本文的源文件链接
 

扫码.png

 
 
 
 

【代码分享】设置视频循环播放

原创分享lx_mgd 发表了文章 • 6 个评论 • 3582 次浏览 • 2017-11-10 13:33 • 来自相关话题

mugeda.addEventListener("renderready", function(){
setInterval(function(){
Array.prototype.forEach.call(Mugeda.currentAni.dom.qu 查看全部
mugeda.addEventListener("renderready", function(){
setInterval(function(){
Array.prototype.forEach.call(Mugeda.currentAni.dom.querySelectorAll('video'), function(video){
video.setAttribute('loop', 'true');
});
}, 2000);
});
把上面的代码放到js框中,这样作品里的视频就可以自动循环了。
 

 

【代码分享】分享直播课里的倒计时代码

原创分享lx_mgd 发表了文章 • 3 个评论 • 3788 次浏览 • 2017-07-04 11:28 • 来自相关话题

http://www.mugeda.com/animation/edit/ac798442​ 
 
大家需要自己配置代码下面加粗的部分
 
var eventTime = moment('2017-10-01 19:22:30').unix();
把这行代码里的时间改为自己的活动时间,
 
djs. 查看全部
http://www.mugeda.com/animation/edit/ac798442​ 
 
大家需要自己配置代码下面加粗的部分
 
var eventTime = moment('2017-10-01 19:22:30').unix();
把这行代码里的时间改为自己的活动时间,
 
djs.text = '活动已结束';
这行代码里的文字说明改为自己想要的文字
 
对显示的时间做修改
djs.text = duration.years() + '年'+ duration.months() + '月' + duration.days() + '天' + duration.hours()+ '小时' + duration.minutes()+ '分' + duration.seconds() + '秒';
 
更多操作,可以到moment.js的官网查看
 
http://momentjs.cn/
 
 

如何添加第三方统计代码

原创分享ddbackhome 发表了文章 • 4 个评论 • 2592 次浏览 • 2017-04-27 15:42 • 来自相关话题

利用mugeda工具插入代码的功能很容易添加第三方的统计代码,下面以添加百度的统计代码为例来说明一下如何在工具中添加统计代码。
 
1. 获取统计代码
每个统计平台都会提供相应的JavaScript统计插入 代码,百度的统计代码形式为:
var _hmt = _hmt || [];
(functio 查看全部
利用mugeda工具插入代码的功能很容易添加第三方的统计代码,下面以添加百度的统计代码为例来说明一下如何在工具中添加统计代码。
 
1. 获取统计代码
每个统计平台都会提供相应的JavaScript统计插入 代码,百度的统计代码形式为:
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "//hm.baidu.com/hm.js?xxx";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();

2. 在工具中插入以上代码,如下图所示:

QQ截图20170427154053.png

 
 
 
 
点击保存,这样就轻松的 完成了统计代码插入的操作。

2.9.7 API的应用:获取Mugeda后台数据

原创分享songyue 发表了文章 • 1 个评论 • 4397 次浏览 • 2016-11-03 15:04 • 来自相关话题

方法一: 
跳过Mugeda后台,把在Mugeda里做的作品导出,放到自己的服务器上,然后通过添加代码的方式获取数据。

方法二: 
可以在api中使用ajax的方式发送和获取数据,但是要注意跨域问题,当你的动画直接使用Mugeda平台发布的时候,使用ajax向自己所在域名的服务器发送请求的时候,是 查看全部
方法一: 
跳过Mugeda后台,把在Mugeda里做的作品导出,放到自己的服务器上,然后通过添加代码的方式获取数据。

方法二: 
可以在api中使用ajax的方式发送和获取数据,但是要注意跨域问题,当你的动画直接使用Mugeda平台发布的时候,使用ajax向自己所在域名的服务器发送请求的时候,是存在跨域问题的,这个时候推荐使用jsonp的方式来请求数据,如果你的动画部署在自己的服务器上,这个时候就不会存在跨域问题,你可以使用ajax方式来请求数据。

推荐在动画中引入jQuery,这样你可以使用jQuery ajax方法来发送请求,以下是例子,其中url需要执行你自己后台的请求地址,注意,跨域情况下使用jsonp的请求需要服务器后台支持。

1.没有跨域的情况:
$.ajax({ 
  url: '/submit', 
  type: 'POST', 
  data: {name: 'test'}, 
  success: function (response) { 
     //TODO; 
  } 
});


2.跨域的情况:
$.ajax({ 
  url: "/submit.jsonp", 
  jsonp: "callback", 
  dataType: "jsonp", 
  data: {name: 'test'}, 
  success: function( response ) { 
     //TODO; 
  } 
});


2.9.6 API的应用:工具API
2.9.5 API的应用:aObject对象
2.9.4 API的应用:scene对象
2.9.3 API的应用:Mugeda对象
2.9.2 API的应用:Mugeda API的整体结构
2.9.1 API的应用:在动画中添加代码

2.9.6 API的应用:工具API

原创分享mingyue 发表了文章 • 1 个评论 • 6377 次浏览 • 2016-09-07 13:58 • 来自相关话题

微信转发

在微信中,经常需要定义微信转发的标题、描述、转发地址。除了在IDE的文档信息中填写这些信息以外,还可以通过代码动态的更改这些值,代码如下:





 
上述函数可以多次调用,每调用一次,用新值覆盖旧值。上述4个参数可以省略1~3个。

信息提示

Mugeda渲染器提供通用的信息提示 查看全部
微信转发

在微信中,经常需要定义微信转发的标题、描述、转发地址。除了在IDE的文档信息中填写这些信息以外,还可以通过代码动态的更改这些值,代码如下:

11.png

 
上述函数可以多次调用,每调用一次,用新值覆盖旧值。上述4个参数可以省略1~3个。

信息提示

Mugeda渲染器提供通用的信息提示函数,代码如下:

22.png


2.9.5 API的应用:aObject对象
2.9.4 API的应用:scene对象
2.9.3 API的应用:Mugeda对象
2.9.2 API的应用:Mugeda API的整体结构
2.9.1 API的应用:在动画中添加代码

2.9.5 API的应用:aObject对象

原创分享mingyue 发表了文章 • 1 个评论 • 4083 次浏览 • 2016-09-07 12:00 • 来自相关话题

aObject对象是舞台上动画元素(例如:图片、文字、组、元件实例)的抽象,每一个动画元素,都有对应的aObject对象。

获取aObject对象

1、获取动画中,已有物体的aObject对象

在IDE中,可以在属性面板中为物体命名。同一个scene对象中(主舞台或元件实例),物体的名称是唯一 查看全部
aObject对象是舞台上动画元素(例如:图片、文字、组、元件实例)的抽象,每一个动画元素,都有对应的aObject对象。

获取aObject对象

1、获取动画中,已有物体的aObject对象

在IDE中,可以在属性面板中为物体命名。同一个scene对象中(主舞台或元件实例),物体的名称是唯一的。要获取命名物体的aObject对象,可以在包含命名物体的scene上:

1.png

 
2、复制已有的aObject对象

动画元素可以被复制:

2.png

3、使用元件产生元件实例:

3.png

aObject对象的属性

aObject包含一系列属性控制动画元素的变换:

4.png


5.png


6.png

aObject的事件

可以在aObject上绑定绝大多数的鼠标/触摸事件:touchstart、touchmove、touchend、mousedown、mousemove、mouseup、click、dblclick、mouseover、blur、focus。此外,还提供inputstart、inputmove、inputend三个事件。在PC上,这三个事件对应于mousedown、mousemove、mouseup,在手机和平板上,对应于touchstart、touchmove、touchend事件、click事件经过处理,已经不会有300ms的延迟问题。使用如下:

7.png

 
了解更多API详情

2.9.4 API的应用:scene对象

原创分享mingyue 发表了文章 • 0 个评论 • 3589 次浏览 • 2016-09-07 11:49 • 来自相关话题

对于主舞台、元件实例这样拥有时间轴的动画元素,都拥有对应的scene对象。通过操作scene对象,可以使用编程的方式,获取当前的播放位置、跳转播放位置、获取主舞台上的物体等操作。

获取scene对象

对主舞台,直接通过下面的方式获取:





 
对元件实例,首先需要在舞台上对元件实例命名( 查看全部
对于主舞台、元件实例这样拥有时间轴的动画元素,都拥有对应的scene对象。通过操作scene对象,可以使用编程的方式,获取当前的播放位置、跳转播放位置、获取主舞台上的物体等操作。

获取scene对象

对主舞台,直接通过下面的方式获取:

1.png

 
对元件实例,首先需要在舞台上对元件实例命名(例如“A”),然后通过下面的方式获取:

2.png

 
scene对象的属性

scene对象包含了主舞台和元件实例时间轴和播放进度的信息。

1、获取当前播放位置和状态

3.png

其中currentId为currentDecimalId的取整值。

4.png

2、获取时间轴的信息

可以通过下面的代码,获取时间轴的长度和页的信息:

5.png

3、获取命名帧的实际帧号

在IDE中,可以为关键帧命名,从而在行为中方便的跳转到命名帧。下面函数提供了命名帧到实际帧号的转换。

6.png

scene的事件

当主舞台或者元件实例重绘前,引发enterframe事件。在事件的回调中,可以操作动画,改变物体的位置,或调整将动画重定向到其他帧。

7.png

scene的方法

scene包含系列控制播放进程的方法,此外,scene代表舞台或者元件实例,管理着舞台或元件实例容器中的所有子物体。

1、控制播放进程

在主舞台scene或元件实例scene上使用下面的方法,可以控制他们的播放进程:

8.png


9.png

2、播放片段

可以通过代码,将一小段时间轴标记为片段,将动画的播放范围限定在片段中。如下:

10.png

3、物体遍历

舞台和元件作为容器,包含一系列的动画元素。在IDE中,可以为物体命名,下面的代码通过名字查找到舞台上的元件实例A中的物体B。

11.png

上述例子允许反遍历(由子元素寻找父元素),例如:

12.png

4、增删物体

13.png

 
了解更多API详情

2.9.2 API的应用:Mugeda API的整体结构

原创分享mingyue 发表了文章 • 4 个评论 • 4783 次浏览 • 2016-09-07 11:19 • 来自相关话题

Mugeda API整体上分为三个层次:mugeda对象、scene对象、aObject。

每个mugeda对象与单个动画对应,是访问单个动画的入口。
通过访问mugeda对象,可以得到mugeda的总体信息。如:大小、标题。
动画中,每个时间轴对应于scene对象,主舞台和元件实例都有对应的sc 查看全部
Mugeda API整体上分为三个层次:mugeda对象、scene对象、aObject。

每个mugeda对象与单个动画对应,是访问单个动画的入口。
通过访问mugeda对象,可以得到mugeda的总体信息。如:大小、标题。
动画中,每个时间轴对应于scene对象,主舞台和元件实例都有对应的scene对象。
通过操作scene,可以获取事件轴的信息,对播放位置做跳转。
每个动画物体和aObject对象相对应,控制aObject,就可以控制物体的位置、透明度、可见性。
 
了解更多API详情