<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[黑ｌ①√Σ月]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq183293</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq183293]]></copyright><item><title><![CDATA[[CocosCreator]聊聊数据的通信安全]]></title><link>https://blog.youkuaiyun.com/qq183293/article/details/155240362</link><guid>https://blog.youkuaiyun.com/qq183293/article/details/155240362</guid><author>qq183293</author><pubDate>Tue, 25 Nov 2025 17:57:00 +0800</pubDate><description><![CDATA[本文提出了防止游戏外挂的几种技术方案：1）使用动态SessionKey替代固定SIGN_KEY，由服务器每次登录时下发；2）在数据帧中增加nonce、seqId等字段进行多重验证；3）采用客户端证明机制，通过challenge-response验证客户端合法性；4）将关键逻辑放在native代码并混淆。这些方法能显著提高外挂开发难度，从简单的3分难度提升到8分以上，有效阻止大部分脚本外挂。文章最后邀请CocosCreator开发者加入技术交流群分享经验。]]></description><category></category></item><item><title><![CDATA[[CocosCreator]全栈接入QQ登录SDK]]></title><link>https://blog.youkuaiyun.com/qq183293/article/details/150496077</link><guid>https://blog.youkuaiyun.com/qq183293/article/details/150496077</guid><author>qq183293</author><pubDate>Wed, 27 Aug 2025 11:14:41 +0800</pubDate><description><![CDATA[本文详细介绍了在CocosCreator游戏中接入手Q登录SDK的完整流程。内容涵盖客户端和服务端实现：客户端部分包括TS代码调用QQ登录接口、Android工程配置及Java实现；服务端部分提供SpringBoot验证逻辑，通过QQ开放平台API验证accessToken并获取用户信息。文章还分享了实际开发中的注意事项，如AndroidManifest配置、权限申请等关键细节。该方案既可用于独立实现QQ登录功能，也可作为多平台登录体系的组成部分。文末附有开发者交流群信息，方便技术讨论和经验分享。]]></description><category></category></item><item><title><![CDATA[[CocosCreator]游戏里最好用的寻路算法——Theta*]]></title><link>https://blog.youkuaiyun.com/qq183293/article/details/143191069</link><guid>https://blog.youkuaiyun.com/qq183293/article/details/143191069</guid><author>qq183293</author><pubDate>Thu, 24 Oct 2024 17:36:40 +0800</pubDate><description><![CDATA[在游戏开发领域，算法是不可或缺的重要组成部分。无论是基础的数据处理还是复杂的游戏AI，都依赖各种经典算法的应用，如排序算法、路径规划算法等。尤其在大规模多人在线游戏（MMORPG）中，路径寻路算法显得尤为关键。Theta算法作为A算法的改进，因其高效的路径优化能力，广泛应用于游戏中的NPC行为模拟和玩家角色移动优化。本文将深入探讨Theta*算法的原理及其在游戏开发中的应用，带你更好地理解其在实际场景中的价值。Theta*（Theta Star）是A星算法的优化版本，它完全集成了A星。]]></description><category></category></item><item><title><![CDATA[[CocosCreator]带有权重的概率机制]]></title><link>https://blog.youkuaiyun.com/qq183293/article/details/132895437</link><guid>https://blog.youkuaiyun.com/qq183293/article/details/132895437</guid><author>qq183293</author><pubDate>Fri, 18 Oct 2024 17:07:39 +0800</pubDate><description><![CDATA[假如现在CY给一个任务,要求某个角色的每次攻击都带有一定概率给对方附加debuff效果,概率设定为10%中毒,20%流血,30%暴击.如果程序在使用简单的if+Math.random()就非常low了.欢迎喜欢或者从事CocosCreator开发的小伙伴请加入我的大家庭CocosCreator。于是乎主角就要登场了~~~基本符合我们设定的概率1:2:3。看似很简单,但是很好用.]]></description><category></category></item><item><title><![CDATA[Spring Event 业务解耦神器(泛型喔!)]]></title><link>https://blog.youkuaiyun.com/qq183293/article/details/142268302</link><guid>https://blog.youkuaiyun.com/qq183293/article/details/142268302</guid><author>qq183293</author><pubDate>Sun, 15 Sep 2024 17:30:49 +0800</pubDate><description><![CDATA[CocosCreator]自定义事件(订阅/发布)管理器),这样做有什么好处呢?回答:解耦!于是乎,我就觉得前端能干的事,后端也一样能干!当然,如果后端是TS或JS写的,比如nodeJS,那不必改造,直接照抄就行,奈何我后端使用的Java......]]></description><category></category></item><item><title><![CDATA[[CocosCreator]全栈接入微信支付宝SDK(V3)]]></title><link>https://blog.youkuaiyun.com/qq183293/article/details/142212383</link><guid>https://blog.youkuaiyun.com/qq183293/article/details/142212383</guid><author>qq183293</author><pubDate>Fri, 13 Sep 2024 17:15:19 +0800</pubDate><description><![CDATA[原文再续，书接上一回！上一期我介绍了接入支付宝的SDK，本文就来讲讲微信的SDK接入．还是那句话，官方的文档，我只能用一句话形容：一言难尽！本屌还是一如既往，把＂恶心的东西＂嚼碎了喂给各位宝吃．        首先还是要集齐可以召唤神龙的法器，给大家一一列举一下：        这里还是给大家啰嗦几句吧：１和２这个没啥好说的，只要按照官方的说明书就可以完成绑定即可，记住是双向绑定．        4.配置v3秘钥按照这里来：配置v3Key        3和5证书秘钥按照这个来：获取证书秘钥拿到这三分证书后]]></description><category></category></item><item><title><![CDATA[[CocosCreator]全栈接入阿里支付宝SDK]]></title><link>https://blog.youkuaiyun.com/qq183293/article/details/142030384</link><guid>https://blog.youkuaiyun.com/qq183293/article/details/142030384</guid><author>qq183293</author><pubDate>Mon, 09 Sep 2024 00:09:19 +0800</pubDate><description><![CDATA[最近给公司的游戏接入支付宝SDK（小预告：下期接微信SDK），又是焦头烂额的3天（有些人就会问，怎么要３天？首先我是全栈，整个app的支付流程，包括前，后端都是我亲力亲为的）．其实现在回看这几天的历程，80%的时间都是花在看官方文档和实例上．这并不是我第一次接入支付宝了，奈何时隔太久，完全没留有一丝印象，导致痛苦的经历又经历一遍．于是乎本文就诞生了，我会把很官方的东西，嚼碎了喂给你吃，同时我自己也再次巩固一遍．。]]></description><category></category></item><item><title><![CDATA[[国家新闻出版署]网络游戏防沉迷实名认证系统接口对接实例(Java版)]]></title><link>https://blog.youkuaiyun.com/qq183293/article/details/141755691</link><guid>https://blog.youkuaiyun.com/qq183293/article/details/141755691</guid><author>qq183293</author><pubDate>Sat, 31 Aug 2024 18:10:59 +0800</pubDate><description><![CDATA[最近游戏对接网络游戏防沉迷实名认证系统接口,搞了我三天两夜,终于把接口对接完毕,确实难受的一批.其实之前对接过一次,但是没有保留代码,导致痛苦的经历又经历一遍,这次总结经验,于是有了这篇文章.接着上正戏,因为本人从事的是Java,所有只有Java的实现,不是同行可以先走一步了,本人得意声明:所有代码都是我自己写的,如有雷同不胜荣幸!这里着重讲一下吧,其实接口有四个,有一个玩家消费的接口,在官方文档介绍有提过,但是在接口文档却只有这三个接口,所有就先实现三个吧.1.接口回调的所有编码,我做成枚举类。]]></description><category></category></item><item><title><![CDATA[[CocosCreator]Android的增加AndroidX的动态权限]]></title><link>https://blog.youkuaiyun.com/qq183293/article/details/139050999</link><guid>https://blog.youkuaiyun.com/qq183293/article/details/139050999</guid><author>qq183293</author><pubDate>Mon, 20 May 2024 00:30:17 +0800</pubDate><description><![CDATA[欢迎喜欢或者从事CocosCreator开发的小伙伴请加入我的大家庭CocosCreator。]]></description><category></category></item><item><title><![CDATA[[CocosCreator]自定义事件(订阅/发布)管理器]]></title><link>https://blog.youkuaiyun.com/qq183293/article/details/132402091</link><guid>https://blog.youkuaiyun.com/qq183293/article/details/132402091</guid><author>qq183293</author><pubDate>Thu, 14 Sep 2023 10:47:14 +0800</pubDate><description><![CDATA[需要注意的是,这个也是个全局变量,到处都能使用,但是订阅方应该注意在适当时机,比如以上代码在onDisable生命周期取消订阅,避免造成不必要的内存泄露问题等~好的,期待下期的更新吧~以上三种都是可以提供给开发者自行使用的事件传播,其中第一种是使用上是比较平凡的,而且有一定的局限性,只能在同一树节点,由下往上传播,后两者是基于全局的cc.game或者。答案还真没有,哈哈~既然没有,那我们就自己撸一个,造个轮子!cc.director,基本可以做到无死角传播,但是官方并不提倡使用.]]></description><category></category></item><item><title><![CDATA[[CocosCreator]封装动态加载资源Ⅱ]]></title><link>https://blog.youkuaiyun.com/qq183293/article/details/129826420</link><guid>https://blog.youkuaiyun.com/qq183293/article/details/129826420</guid><author>qq183293</author><pubDate>Tue, 28 Mar 2023 22:35:43 +0800</pubDate><description><![CDATA[这次重写封装是因为,我在敲代码是遇到了需要解决资源同步情况,其实代码与原来的并有多大的变化,首先是我继承单例基类,然后我在原先直接返回资源的函数上包装了一层Promise的返回,这个是解决同步的关键!然后是因为返回值Promise的原因,把原来合并在一起能够单个或多个拆分成两个函数了!使用过CocosCreator开发的小伙伴都知道,动态加载是用起来容易却不好管理的一大功能,稍微处理不当就很容易出现资源没有释放造成资源浪费,甚至内存泄露等问题.我写了一个管理动态加载资源的管理类,专门解决这类问题!]]></description><category></category></item><item><title><![CDATA[[CocosCreator]封装行为树(一)]]></title><link>https://blog.youkuaiyun.com/qq183293/article/details/128359147</link><guid>https://blog.youkuaiyun.com/qq183293/article/details/128359147</guid><author>qq183293</author><pubDate>Sun, 18 Dec 2022 01:42:53 +0800</pubDate><description><![CDATA[游戏中Npc的活动,或者主角挂机行为都十分依赖行为树,本章开始,封装适用CococCreator使用的TypeScript行为树,如果不了解行为树的小伙伴请自行问度娘,这里就不重复知识点,直接上正菜。接下就先看看基类的各种定义吧.也就是base目录的庐山真面目,我也不想打字,毕竟有没有人看也是两说的,直接上干货,走你!2.biz目录是存放实现base目录接口的具体实现类,例如树节点,叶子节点,顺序节点,条件节点等等。吐槽下,打字好累啊~~~~~~~~~~~~~6.tree顾名思义就是具体的行为树代码了。]]></description><category></category></item><item><title><![CDATA[[CocosCreator]封装对象池]]></title><link>https://blog.youkuaiyun.com/qq183293/article/details/127590182</link><guid>https://blog.youkuaiyun.com/qq183293/article/details/127590182</guid><author>qq183293</author><pubDate>Sat, 29 Oct 2022 18:37:45 +0800</pubDate><description><![CDATA[对象池就是一组可回收的节点对象，我们通过创建的实例来初始化一种节点的对象池。通常当我们有多个 prefab 需要实例化时，应该为每个 prefab 创建一个实例。当我们需要创建节点时，向对象池申请一个节点，如果对象池里有空闲的可用节点，就会把节点返回给用户，用户通过将这个新节点加入到场景节点树中。当我们需要销毁节点时，调用对象池实例的put(node)方法，传入需要销毁的节点实例，对象池会自动完成把节点从场景节点树中移除的操作，然后返回给对象池。这样就实现了少数节点的循环利用。]]></description><category></category></item><item><title><![CDATA[(SpringBoot)服务端限流功能]]></title><link>https://blog.youkuaiyun.com/qq183293/article/details/125169268</link><guid>https://blog.youkuaiyun.com/qq183293/article/details/125169268</guid><author>qq183293</author><pubDate>Tue, 07 Jun 2022 17:35:29 +0800</pubDate><description><![CDATA[首先解释下服务端限流,并不是不接受客户端的消息,只是不处理或者少处理客户端的请求.本文涉及以下几个知识点,请同学们复习复习哦!本文也不会过多详细介绍正式进入主题,首先定义一个枚举变量作为限流类型使用


接着定义一个注解类


然后就再定义Aspect类,限流逻辑处理


在定义一个自定义异常,方便异常捕获处理


这里使用到redis时,还会用到lua脚本,在项目的resource里创建lua保存以下代码


代码意思也不复杂,做计数计算.再写个配置类,注入bean


全局异常处理


这样就完成所需的]]></description><category></category></item><item><title><![CDATA[[CocosCreator]TS装饰器妙用]]></title><link>https://blog.youkuaiyun.com/qq183293/article/details/124438908</link><guid>https://blog.youkuaiyun.com/qq183293/article/details/124438908</guid><author>qq183293</author><pubDate>Tue, 26 Apr 2022 23:07:09 +0800</pubDate><description><![CDATA[CocosCreator装饰器]]></description><category></category></item><item><title><![CDATA[[CocosCreator]热更新插件使用心得以及注意事项]]></title><link>https://blog.youkuaiyun.com/qq183293/article/details/123941042</link><guid>https://blog.youkuaiyun.com/qq183293/article/details/123941042</guid><author>qq183293</author><pubDate>Sun, 03 Apr 2022 18:29:55 +0800</pubDate><description><![CDATA[最近在搞热更新这块,琢磨了一段时间,终于搞明白怎么使用插件去做热更新了,此文章将记录我使用过程中遇到的坑,和使用心得,希望能对萌新有一定的帮助!

(老规矩:广告位留给自己)

欢迎喜欢或者从事CocosCreator开发的小伙伴请加入我的大家庭CocosCreator游戏开发Q群:26855530

首先介绍我使用的插件是这款:



小伙伴可以在插件商城自己寻找

下载安装完插件,打开的界面如下



使用文档其实作者已经在右上角处有标明的,文章也介绍了插件的使用,但是对于小白,他的步...]]></description><category></category></item><item><title><![CDATA[CocosCreate编译打包安卓详解]]></title><link>https://blog.youkuaiyun.com/qq183293/article/details/122418404</link><guid>https://blog.youkuaiyun.com/qq183293/article/details/122418404</guid><author>qq183293</author><pubDate>Mon, 10 Jan 2022 20:17:16 +0800</pubDate><description><![CDATA[本次内容记载着我从CocosCreate(以下将简称:CCC)从构建到出包安卓所亲身经历的一切事情，以及遇到的一些错误和坑。以此提醒自己，也希望可以帮助更多的小伙伴。一起学习，一起进步！如果有兴趣的小伙伴还可以加入我的大家庭CocosCreator。]]></description><category></category></item><item><title><![CDATA[(SpringBoot)依赖注入的几种方式总结]]></title><link>https://blog.youkuaiyun.com/qq183293/article/details/120805429</link><guid>https://blog.youkuaiyun.com/qq183293/article/details/120805429</guid><author>qq183293</author><pubDate>Sat, 16 Oct 2021 22:58:21 +0800</pubDate><description><![CDATA[Spring的依赖注入已经是街知巷闻的了,我们接触的最多就是


1.@Autowired和@Resource
相信这两种都用到烂大街了,我也没必要去介绍了.我这里主要介绍另外两种获取注入的方式

2.工具类方法

上代码


package com.zhcj.xzjh.config;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import ]]></description><category></category></item><item><title><![CDATA[(SpringBoot)Hibernate主键生成策略-雪花算法]]></title><link>https://blog.youkuaiyun.com/qq183293/article/details/120246086</link><guid>https://blog.youkuaiyun.com/qq183293/article/details/120246086</guid><author>qq183293</author><pubDate>Sun, 12 Sep 2021 02:51:04 +0800</pubDate><description><![CDATA[雪花算法是越来越流行了,他比传统的id自增或者uuid更加的安全,号称在全局分布式系统中唯一.关于他的详细,我这里就不多介绍,想了解更多的找度娘就好.

这里借用大神已经写好的雪花算法Java代码实现:


package com.zwd.hibernate.config;

import org.apache.commons.lang3.RandomUtils;
import org.apache.commons.lang3.StringUtils;

import java.net.Inet4Addre]]></description><category></category></item><item><title><![CDATA[[CocosCreator]封装可续播帧动画]]></title><link>https://blog.youkuaiyun.com/qq183293/article/details/119971170</link><guid>https://blog.youkuaiyun.com/qq183293/article/details/119971170</guid><author>qq183293</author><pubDate>Sat, 28 Aug 2021 18:28:32 +0800</pubDate><description><![CDATA[在CocosCreator的官方文档中,提供播放帧动画的组件是Animation,在一般的情况下是可以满足大部分的游戏需求的.但是有时,在播放动画的时候,比如人物的行走的动作时,一旦方向改变,或者动作改动,该组件便会重第1帧执行你指定的动作,这个并不符合我们的需求.

    我们的需求是:当前播放到第n帧时,切换下个动作应该从第n+1帧续播.

于是乎就有了今天这篇博客.在浏览官方的源码之后,再结合我自身的需求,我自己写了一个组件,代码如下:


import Dy...]]></description><category></category></item></channel></rss>