Coder Social home page Coder Social logo

celestepubcode's Introduction

  • 👋 Hi, I’m @liupu9
  • 👀 I’m interested in ...
  • 🌱 I’m currently learning ...
  • 💞️ I’m looking to collaborate on ...
  • 📫 How to reach me ...

celestepubcode's People

Contributors

liupu9 avatar

Watchers

 avatar

celestepubcode's Issues

如何从apk包中找到对应的学习资源

下载原始包
Slime Legion_1.4.0_Apkpure.xapk

解压缩
Slime Legion_1.4.0_Apkpure

文件列表
com.hero.may.cry.adventure.game.apk -> 资源1
config.arm64_v8a.apk -> 资源2


从资源1的com.hero.may.cry.adventure.game\assets\publish\res目录找到了
英雄 heroes
场景 scenes
敌人 enemies
这3种资源利用 [AssetStudio.net472.v0.16.47] 可以提取出有用的资源:

  1. 图片 Sprite Texture2D
  2. 脚本 MonoBehavior 发现了Behavior Designer的相关资源

在资源2 lib/arm64-v8a目录中发现了 libil2cpp.so

下载工具
[Il2CppDumper-net6-win-v6.7.40.zip]

选中so文件和 C:\Users\auus\Downloads\Slime Legion_1.4.0_Apkpure\com.hero.may.cry.adventure.game\assets\bin\Data\Managed\Metadata\global-metadata.dat

解密到目录DummyDll, 找到Assembly-CSharp.dll

最后用[dnySpy-net-win64]工具进行反编译Assembly-CSharp.dll文件.

总结:
整个过程用到了3个工具, 分别找到了部分原始的资源(图片和脚本) 和 反编译后的代码.

蔚蓝 GamePlay 代码分析(1)

在学习了 2D-Platform-Controller 这个开源工程, 为其增加了 700+行注释之后, 对其功能也有了初步的了解.
在这个基础上, 我开始对原版 Celeste Player.cs 源文件进行代码正向注释. 期望在注经的过程中, 记录自己的进步与感悟.

  1. 整个代码由 5471 行, 基本上没有什么注释.
  2. 代码被划分成 36 个代码块, 其中 12 个基本功能块, 23 个状态代码块, 1 个代码追踪块.
  3. 框架采用Monocle, 目前也有源代码, 共计 19197 行.
  4. 对 23 个状态进行中文注释(先完成, 后面如果发现不对,再进行修正)
  5. 整个逻辑由一个状态机控制. 每个状态可以注册 4 个 hook(开始,结束, 更新, 协程)

在Windows上创建一个基于MonoGame(XNA)的示例项目

经过实践后得出, 实际采用的是FNA而非MonoGame. 因为Monocle.FNA是依赖FNA的.

  1. 新建一个解决方案Project1.
  2. 添加Monocle
  3. 添加FNA
  4. 新建项目Celeste, 并引用项目Monocle.

这样就可以完成一个完整的C#项目. 但是跟Unity无关. 这个项目更像是传统主机游戏的开发模式.

Image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.