一.安卓平台
1.在js脚本内添加代码
if (cc.sys.os === cc.sys.OS_ANDROID) {
jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity",
"copyTextToClipboard", "(Ljava/lang/String;)V", str);
}
2.构建后用android studio 打开
3.找到这个java脚本
4.添加以下内容
import android.content.Context;
import android.content.ClipData;
import android.content.ClipboardManager;
public static void copyTextToClipboard(String text) {
Context context = getContext();
ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clip = ClipData.newPlainText("Copied Text", text);
clipboard.setPrimaryClip(clip);
}
然后打包 就可以复制了
二.H5平台 这个就简单的多了 (来自gpt)
// 获取输入框文本
const textToCopy = cc.find("Canvas/com_share/Label/Label").getComponent(cc.Label).string;
// 创建一个临时的textarea元素,将文本放入其中
const textarea = document.createElement('textarea');
textarea.value = textToCopy;
document.body.appendChild(textarea);
// 选中文本
textarea.select();
textarea.setSelectionRange(0, textarea.value.length);
try {
// 尝试执行复制操作
document.execCommand('copy');
cc.log('Text copied to clipboard:', textToCopy);
} catch (err) {
cc.error('Unable to copy text to clipboard');
}
// 移除临时元素
document.body.removeChild(textarea);
三.ios平台 暂时没有写过 后面添加