【技术教程】【初夏原创】关于纯Java开发游戏如何实现敌我判断第1张插图
  • 首页
  • 每日早报
  • 技术教程
  • 编程语言
    • 网站源码
    • 网页代码
  • 精品软件
    • 手机软件
    • 电脑软件
  • 活动资讯
首页 技术教程 正文

【技术教程】【初夏原创】关于纯Java开发游戏如何实现敌我判断

2025-03-31 23:06 技术教程 阅读 163

导语:在版块基本没有看见关于此类游戏的教程,刚好今日有时间,截几张图做一下讲解。

要求学习者者具备一定安卓开发经验、kotlin、Java等语言的基础使用。。或者你想理解基础的一个逆向思维也可以学习,技术永远是第二,逆向思维才是第一[滑稽]四两拨千斤
【技术教程】【初夏原创】关于纯Java开发游戏如何实现敌我判断第2张插图
科普时间到:何为纯Java开发?目前游戏基本离不开unity、Cocos这两大引擎。或者基于其他游戏引擎开发的游戏。他们存在的一个共同点是:主要游戏逻辑(伤害、物品加减)不会存在于dex。位于so动态库、js文件居多。纯java开发的游戏只是一个统称,他可能用Java写的也可能用kotlin写的,毕竟这两者并不分家。简单点说就是他的逻辑位于dex层,代表游戏:公会会长,普通的修改并无意义,我们今天进入的是如何在一个通用的伤害获取方法内实现敌我的判断

找到了关键的方法getfinadamage,伤害获取。这是一个简单直接返回,并无存在相关的判断,继续分析

【技术教程】【初夏原创】关于纯Java开发游戏如何实现敌我判断第3张插图
此时我们找到了一个判定方法,isplayerside,是一个Boolean类型的方法,根据传递进去的对象进行判断
【技术教程】【初夏原创】关于纯Java开发游戏如何实现敌我判断第4张插图
通过调用查询,我们发现了不少关键方法调用了这个判断方法,这一个步骤存在的意义是什么呢?一个是确定他是否为我们需要的存在判定功能。第二个是弄清楚先后关系。那就是伤害执行时有无经过这个方法的判定,他们两个是谁先执行。确定了isplayer是先执行的,那我们直接在这个方法下进行拦截即可

主要思路为:创建一个变量在这个方法内获取他们的返回结果,在伤害方法内通过获取变量进行判断。结合以上思路打开我们的as,开始写代码

【技术教程】【初夏原创】关于纯Java开发游戏如何实现敌我判断第5张插图
开发步骤省略,自行百度哦,第一步创建一个公开类的公开变量,初始值为false,不建议为true,如果程序发癫部分逻辑没走isplayer那么你自己也会被秒杀
【技术教程】【初夏原创】关于纯Java开发游戏如何实现敌我判断第6张插图
第二步在我们自己的类里面实现,我们上面思路的一个模拟获取,用于后续编译后我们可以直接复制粘贴进行修改,模拟获取流程为:模拟取值、模拟判断、模拟赋值

【技术教程】【初夏原创】关于纯Java开发游戏如何实现敌我判断第7张插图
最早我们代码如下:

模拟拦截赋值,拦截任意v0Boolean参数,传递给isplayer

sget-object v1, Lcom/qingdi/modtest/startmod;->INSTANCE:Lcom/qingdi/modtest/startmod;

invoke-virtual {v1, v0}, Lcom/qingdi/modtest/startmod;->setIsplayer(Z)V

模拟取值,读取isplayer字段获取当前值

.line 27
sget-object v1, Lcom/qingdi/modtest/startmod;->INSTANCE:Lcom/qingdi/modtest/startmod;

invoke-virtual {v1}, Lcom/qingdi/modtest/startmod;->getIsplayer()Z

move-result v1

模拟判断为false或true

if-eqz v1, :cond_4f

为true的执行逻辑

.line 31
:cond_4f

为false的执行逻辑
return-void

代码浅析结束,那么我们只需要在上面我们的两个方法内插入这些方法即可

【技术教程】【初夏原创】关于纯Java开发游戏如何实现敌我判断第8张插图
在判断方法内加入我们的模拟赋值代码,将结果存入我们的字段内
【技术教程】【初夏原创】关于纯Java开发游戏如何实现敌我判断第9张插图
在伤害方法插入模拟取值的代码取出值进行判断,注意要先初始获得我们原先的伤害值哦

结合以上代码把我们打包出来的dex放入apk文件即可实现一次简单的敌我判断

【技术教程】【初夏原创】关于纯Java开发游戏如何实现敌我判断第10张插图

声明:本站所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议。转载请注明来自 乐我知!
【初夏原创】文本在dat文件的汉化思路
« 上一篇 2025-03-31
【原创教程】大江湖之苍龙与白鸟解锁完整版
下一篇 » 2025-03-31

搜索

最新文章

  • 【分享】AEPR模板-VHS复古文字动画
    2025-12-11
  • 【分享】暑假预复习衔接一本通语文25年
    2025-12-11
  • 【手游推荐】怪物训练家 Steam移植中文完整版
    2025-12-11
  • 【分享】锋声小红书虚拟电商掘金特训营
    2025-12-11
  • 【端游推荐】怡红院之主
    2025-12-11

热门文章

  • TOP1
    芳华B站3000万解读+芳华未删版4K60FPS
    5天前 496
  • TOP2
    【分享】🚀【全网热荐】少儿编程课程大集合|将编程与游戏、
    6天前 68
  • TOP3
    【端游推荐】完美音浪 v20251204 豪华中文版 全DLC
    6天前 65
  • TOP4
    【端游推荐】吸血鬼酒吧大亨 v1.1.107761 豪华中文版
    7天前 51
  • TOP5
    【端游推荐】燧石枪:黎明之围 v1.1.72 解压即玩
    6天前 50

本站部分资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站站长删除。

Copyright © 2018-2025 乐我知 皖ICP备19017711号-2

侵权/投诉/邮箱: 8670468@qq.com

sitemap