当前位置: 首页 > news >正文

做一手楼房的网站西安竞价托管

做一手楼房的网站,西安竞价托管,广东哪家网站建设哪家公司好,南海营销网站开发原理: 利用prototype属性,通过重写 cc.Button.prototype._onTouchEnded 方法,以便在按钮被点击时播放音频。通过重写其 _onTouchEnded 方法,可以添加自定义行为,如播放音频。 概念解释: prototype&#…

原理:

利用prototype属性,通过重写 cc.Button.prototype._onTouchEnded 方法,以便在按钮被点击时播放音频。通过重写其 _onTouchEnded 方法,可以添加自定义行为,如播放音频。

概念解释:

prototype:每个 JavaScript 函数都有一个 prototype 属性,这个属性是一个对象。这个对象包含了所有实例对象共享的属性和方法。JavaScript 对象通过原型链实现继承。当你访问一个对象的属性或方法时,JavaScript 引擎会首先在对象自身上查找。如果找不到,它会沿着原型链(prototype)向上查找,直到找到该属性或方法,或者到达原型链的顶端(即 null)。

onTouchEnded:onTouchEnded 是 cc.Button 类的一个私有方法,它处理按钮的触摸结束事件。

以下是详细的实现步骤和代码示例:

实现步骤

  1. 保存原始方法:保存 cc.Button.prototype._onTouchEnded 方法,以便在重写方法中调用原始行为。而不影响默认的方法。
  2. 重写方法:重写 cc.Button.prototype._onTouchEnded 方法,在新方法中添加播放音频的功能,然后调用原始方法。

实现代码

// 假设 AudioManager 是一个管理音频播放的单例类
class AudioManager {public static playButtonClickAudio() {// 播放按钮点击音效的逻辑console.log("Button click audio played");}
}class CustomButton {public static hackCCButtonToPlayAudio() {// 保存原始的 _onTouchEnded 方法const originalOnTouchEnded = cc.Button.prototype._onTouchEnded;// 重写 _onTouchEnded 方法cc.Button.prototype._onTouchEnded = function (event) {// 播放按钮点击音效AudioManager.playButtonClickAudio();// 调用原始的 _onTouchEnded 方法originalOnTouchEnded.call(this, event);};}
}// 在游戏初始化时调用这个方法
CustomButton.hackCCButtonToPlayAudio();

扩展功能 

有时我们并不希望所有按钮都播放同一个音效,对于有些按钮我们需要播放定制的音效,或者说我们需要根据不同的按钮标签来播放不同的音效。

这时可以在需要的按钮上添加一个自定义属性,用于指定要播放的音效文件。然后,在重写 _onTouchEnded 方法时,根据这个属性来播放对应的音效。

在 Cocos Creator 编辑器中,选中需要自定义音效的按钮节点,添加一个名为 customAudio 的属性,并设置其值为对应的音效文件名。

// 假设 AudioManager 是一个管理音频播放的单例类
class AudioManager {public static playAudio(audioName: string) {// 播放指定音效的逻辑console.log(`Playing audio: ${audioName}`);// 实际播放音效的代码,根据你的音频管理实现}public static playButtonClickAudio() {// 播放默认按钮点击音效的逻辑this.playAudio("default_button_click");}
}class CustomButton {public static hackCCButtonToPlayAudio() {// 保存原始的 _onTouchEnded 方法const originalOnTouchEnded = cc.Button.prototype._onTouchEnded;// 重写 _onTouchEnded 方法cc.Button.prototype._onTouchEnded = function (event) {// 获取 customAudio 属性const customAudio = this.node.getComponent(cc.Button).customAudio;if (customAudio) {// 播放自定义音效AudioManager.playAudio(customAudio);} else {// 播放默认按钮点击音效AudioManager.playButtonClickAudio();}// 调用原始的 _onTouchEnded 方法originalOnTouchEnded.call(this, event);};}
}// 在游戏初始化时调用这个方法
CustomButton.hackCCButtonToPlayAudio();

 根据按钮的不同标签来播放不同的音效,可以通过获取按钮的 label 属性来实现。

// 假设 AudioManager 是一个管理音频播放的单例类
class AudioManager {public static playAudio(audioName: string) {// 播放指定音效的逻辑console.log(`Playing audio: ${audioName}`);// 实际播放音效的代码,根据你的音频管理实现}public static playButtonClickAudio() {// 播放默认按钮点击音效的逻辑this.playAudio("default_button_click");}
}class CustomButton {public static hackCCButtonToPlayAudio() {// 保存原始的 _onTouchEnded 方法const originalOnTouchEnded = cc.Button.prototype._onTouchEnded;// 重写 _onTouchEnded 方法cc.Button.prototype._onTouchEnded = function (event) {// 获取按钮节点上的 Label 组件const label = this.node.getComponentInChildren(cc.Label);if (label) {// 获取标签文本内容const labelText = label.string;// 根据标签文本内容播放不同的音效switch (labelText) {case "Play":AudioManager.playAudio("play_button_click");break;case "Pause":AudioManager.playAudio("pause_button_click");break;case "Stop":AudioManager.playAudio("stop_button_click");break;default:// 播放默认按钮点击音效AudioManager.playButtonClickAudio();break;}} else {// 如果没有 Label 组件,播放默认按钮点击音效AudioManager.playButtonClickAudio();}// 调用原始的 _onTouchEnded 方法originalOnTouchEnded.call(this, event);};}
}// 在游戏初始化时调用这个方法
CustomButton.hackCCButtonToPlayAudio();
http://www.khdw.cn/news/3069.html

相关文章:

  • 网站认证打款怎么做分录seo竞价培训
  • 58同城长沙回收网站建设知乎seo
  • 装修公司做网站推广能接到活吗淘宝优秀软文范例100字
  • 微信公众号商城网站开发整合营销传播的明显特征是
  • 建设网站杭州如何在百度做免费推广产品
  • 微信 网站 优劣势关联词有哪些
  • 哪家专门做特卖的网站?项目推广方式有哪些
  • 手机怎样建网站营销策略主要包括哪些
  • 深圳官网网站建设设计网站的软件
  • 网站建设控制面板怎么设置网站排名查询平台
  • WordPress修改模板seo网站编辑是做什么的
  • 网站建设前的分析第一小节内容鸣蝉智能建站
  • 做网站怎么去找客户职业技能培训网
  • 滴滴出行推广联盟冯耀宗seo课程
  • 下载网站源代码网络营销网站推广
  • 做网站建设找哪家好百度seo优化服务
  • 网站可以做推广吗武汉排名seo公司
  • 婚庆网站建设方案注册google账号
  • 手机网站设计制作网址查询ip地址
  • bbs网站设计品牌营销推广策划公司
  • 泰安口碑好的企业建站公司seo教程网站
  • 皮肤测试网站怎么做巢湖seo推广
  • 做内贸哪个网站好互联网推广公司排名
  • 网站代理备案表微信搜一搜怎么做推广
  • 临沂哪里有做网站的百度系app有哪些
  • 公司产品设计部门和销售网站快速优化排名
  • 天河区做网站公司西安搜索引擎优化
  • 网站策划建设方法全面落实疫情防控优化措施
  • 网站建设找客户微信小程序官网
  • 学做效果图的网站百度网站推广排名