cocos2d Android 平台EditBox 2.x升级到3.12 输入框使用 原生控件 可以复制 粘贴

本文介绍了如何将cocos2d-x 2.x版本的EditBox升级到3.12,并详细讲解如何在Android平台上利用原生控件实现复制和粘贴功能,为游戏或应用提供更好的用户体验。
摘要由CSDN通过智能技术生成

微笑微笑微笑


因项目需求,cocos2d 3.10以下版本中的 editbox 都是使用 ttf 来显示 文字的,使用 ttf 显示的话 很多原生的功能 其实都不好做。比如说 表情,复制,粘贴。(光标其实还容易 可以自己弄个 action) ,目前的很多游戏 聊天系统(其实现在很多的第三方聊天sdk) 或者 输入框系列 体验都很好的。为了追求品质 提高体验做的人性化。然后 又不能 直接 从2.x 直接升级到 3.12 版本(虽然可以升级,但考虑到成本问题而没有升),所以,只升了部分功能~ 好了 说了比较 也说了原因,下面就看看升级的步骤吧。

要升级 分二部分:引擎代码c++ 和 java 代码

一、c++ 引擎部分
想要升级 引擎,就得 看懂 当前版本的 和 你所要升级版本的框架逻辑,先来看 2.x版本的引擎目录部分,如下图:
图 1

CCEditBox 里面的实现 这里不多说了,我们只要知道 editBox 是分平台的,在 create 方法里面 初始化了 平台的实现 m_pEditBoxImpl 这个变量里面的其实就是 对应的平台。
图 2

这里 自己 初始化自己的,互不干扰 ,普通的 editBox 是一个 CCControlButton 在CCControlButton 上面 addChild 了 CCLabelTTF ,但我们点击的时候,调用 openKeyboard 方法调用 JNI( showEditTextDialogJNI)
如图:
图 3
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值