axure 图片切换图片的交互_Creator | H5原生交互(图片长按保存/视频上层按钮)...

本文介绍了如何在H5游戏中实现图片切换及交互功能,包括通过canvas、SurfaceView和UIView在不同平台的表现。在H5中,通过获取特定div并添加元素实现图片长按保存,同时展示了在游戏canvas上添加按钮覆盖video播放的代码实现。
摘要由CSDN通过智能技术生成

2e9e04c891cf481b81bd27a671fee259.gif

首先来了解下游戏在各个平台中的最终表现形式

  • H5:canvas

  • Android:SurfaceView

  • IOS:UIView

在浏览器中,打开开发者工具,可以清楚地看到游戏所在的div

8c11981c16f15ec73ce01a43ada68707.png

在调试模式下可以看到,canvas所在的div中id为Cocos2dGameContainer,所以首先要获取该div:

let divGame = document.getElementById("Cocos2dGameContainer");

然后根据需要,创建H5的element,添加到该div中:

divGame.appendChild(element);

如添加img后:

e0f7a7e4b0ba06c289ece935b6f1e028.png

761991ed3ec9a567d7d18bb2831b6b07.gif

1图片(长按保存)

在gif中可以看到游戏的canvas中鼠标右键是无法弹出菜单的,但是添加的H5元素的img右键会弹出相应菜单,在手机上的表现就是长按出现保存图片等操作

19c2f60958133bb78c9252c9c838c822.gif

代码:

@property({ type: cc.Texture2D })
asset: cc.Texture2D = null;
let img = document.createElement("img");
img.src = this.asset.nativeUrl; //图片路径
// img.src = dataURL; //截图数据
img.id = "capture";
img.alt = "capture";
// img.width = cc.winSize.width;
// img.height = cc.winSize.height;
img.width = 195;
img.height = 270;
img.style.position = "absolute";
img.style.top = 0;
img.style.left = 0;

let divGame = document.getElementById("Cocos2dGameContainer");
divGame.appendChild(img);

//删除
//divGame.removeChild(img);

2按钮(videoplayer/webbiew上层)

6d356cbca08c6e8bceb59949f3ac2796.gif

代码:

@property({ type: cc.Texture2D })
assetNormal: cc.Texture2D = null;

@property({ type: cc.Texture2D })
assetPress: cc.Texture2D = null;
let button = document.createElement("img");
button.src = this.assetNormal.nativeUrl;
button.id = "button";
//button的锚点为左上角
button.width = 88;
button.height = 135;
button.style.position = "absolute";
button.style.top = "30%";
button.style.left = "30%";
button.onclick = function () {
  button.src = this.assetNormal.nativeUrl;
  alert("onclick");
}.bind(this);
button.onmousedown = function () {
  button.src = this.assetPress.nativeUrl;
}.bind(this);

let divGame = document.getElementById("Cocos2dGameContainer");
divGame.appendChild(button);
4f001201950b9c148e1f99724cdb0699.png 7b1e59c09bde62679d75601777247e2b.png

阅读更多笔记

扫码关注

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值