草庐IT

html - 愤怒的小鸟HTML5版源码可见?

coder 2023-08-07 原文

今天我读到 Rovio 发布了适用于 Chrome 的愤怒的小鸟,即兼容 HTML5。这是否意味着现在任何人都可以看到游戏的 HTML5 版本的源代码?

最佳答案

是的,但它不是很可读,因为它看起来是从 Java 输入生成的,可能是通过 GWT。

关卡以 JSON 格式存储——这里是 2 级文件:

{
  "camera": [
    {
      "bottom": -51.69,
      "id": "Slingshot",
      "left": -28.397,
      "right": 47.013,
      "top": -51.69,
      "x": 28.621,
      "y": -13.985
    },
    {
      "bottom": -49.048,
      "id": "Castle",
      "left": 12.344,
      "right": 82.582,
      "top": -49.048,
      "x": 66.776,
      "y": -13.929
    }
  ],
  "counts": {
    "birds": 5,
    "blocks": 27
  },
  "id": "pack1/Level57.lua",
  "scoreEagle": 29000,
  "scoreGold": 60000,
  "scoreSilver": 47000,
  "theme": "BACKGROUND_BLUE_GRASS",
  "world": {
    "bird_1": {
      "angle": 0,
      "id": "BIRD_RED",
      "x": 9.93,
      "y": -4.328
    },
    "bird_2": {
      "angle": 0,
      "id": "BIRD_RED",
      "x": 7.489,
      "y": -4.339
    },
    "bird_3": {
      "angle": 0,
      "id": "BIRD_RED",
      "x": 5.417,
      "y": -4.249
    },
    "bird_4": {
      "angle": 0,
      "id": "BIRD_RED",
      "x": 3.42,
      "y": -4.339
    },
    "bird_5": {
      "angle": 0,
      "id": "BIRD_RED",
      "x": 0,
      "y": -1.035
    },
    "block_1": {
      "angle": 90.027,
      "id": "STONE_BLOCK_4X1",
      "x": 61.498,
      "y": -7.314
    },
    "block_10": {
      "angle": 180,
      "id": "TERRAIN_TEXTURED_HILLS_10X10",
      "x": 74.143,
      "y": -0.157
    },
    "block_11": {
      "angle": 180,
      "id": "TERRAIN_TEXTURED_HILLS_10X10",
      "x": 83.499,
      "y": -0.107
    },
    "block_12": {
      "angle": 180,
      "id": "TERRAIN_TEXTURED_HILLS_10X10",
      "x": 92.925,
      "y": -0.058
    },
    "block_13": {
      "angle": 0,
      "id": "TERRAIN_TEXTURED_HILLS_10X10",
      "x": 7.156,
      "y": 1.484
    },
    "block_14": {
      "angle": 135,
      "id": "TERRAIN_TEXTURED_HILLS_10X10",
      "x": 111.252,
      "y": -18.195
    },
    "block_15": {
      "angle": 24.537,
      "id": "TERRAIN_TEXTURED_HILLS_5X5",
      "x": 3.616,
      "y": -0.22
    },
    "block_16": {
      "angle": 45,
      "id": "TERRAIN_TEXTURED_HILLS_5X5",
      "x": 11.912,
      "y": -0.041
    },
    "block_17": {
      "angle": 45,
      "id": "TERRAIN_TEXTURED_HILLS_5X5",
      "x": 103.199,
      "y": -0.037
    },
    "block_18": {
      "angle": 45,
      "id": "TERRAIN_TEXTURED_HILLS_5X5",
      "x": 106.374,
      "y": -3.514
    },
    "block_19": {
      "angle": 45,
      "id": "TERRAIN_TEXTURED_HILLS_5X5",
      "x": 109.7,
      "y": -0.188
    },
    "block_2": {
      "angle": 89.999,
      "id": "STONE_BLOCK_4X1",
      "x": 68.165,
      "y": -7.317
    },
    "block_20": {
      "angle": 359.713,
      "id": "PIG_BASIC_SMALL",
      "x": 85.85,
      "y": -15.34
    },
    "block_21": {
      "angle": 2.262,
      "id": "PIG_BASIC_SMALL",
      "x": 75.084,
      "y": -11.419
    },
    "block_22": {
      "angle": 7.16,
      "id": "PIG_BASIC_SMALL",
      "x": 68.143,
      "y": -11.427
    },
    "block_23": {
      "angle": 0.153,
      "id": "PIG_BASIC_SMALL",
      "x": 61.475,
      "y": -11.411
    },
    "block_24": {
      "angle": 179.984,
      "id": "WOOD_BLOCK_4X1",
      "x": 85.911,
      "y": -13.755
    },
    "block_25": {
      "angle": 180.065,
      "id": "WOOD_BLOCK_4X1",
      "x": 75.051,
      "y": -9.834
    },
    "block_26": {
      "angle": 180.172,
      "id": "WOOD_BLOCK_4X1",
      "x": 68.284,
      "y": -9.842
    },
    "block_27": {
      "angle": 0.112,
      "id": "WOOD_BLOCK_4X1",
      "x": 61.463,
      "y": -9.83
    },
    "block_3": {
      "angle": 90.017,
      "id": "STONE_BLOCK_4X1",
      "x": 74.983,
      "y": -7.316
    },
    "block_4": {
      "angle": 270,
      "id": "STONE_BLOCK_8X1",
      "x": 85.892,
      "y": -9.272
    },
    "block_5": {
      "angle": 359.999,
      "id": "TERRAIN_TEXTURED_HILLS_32X2",
      "x": 75.877,
      "y": -4.433
    },
    "block_6": {
      "angle": 225.001,
      "id": "TERRAIN_TEXTURED_HILLS_10X10",
      "x": 98.165,
      "y": -5.15
    },
    "block_7": {
      "angle": 225.001,
      "id": "TERRAIN_TEXTURED_HILLS_10X10",
      "x": 104.615,
      "y": -11.599
    },
    "block_8": {
      "angle": 90,
      "id": "TERRAIN_TEXTURED_HILLS_10X10",
      "x": 64.836,
      "y": -0.135
    },
    "block_9": {
      "angle": 135,
      "id": "TERRAIN_TEXTURED_HILLS_10X10",
      "x": 60.034,
      "y": 1.675
    }
  }
}

这意味着您可以通过拦截请求来潜在地注入(inject)您自己的关卡。

关于html - 愤怒的小鸟HTML5版源码可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5982561/

有关html - 愤怒的小鸟HTML5版源码可见?的更多相关文章

  1. ruby - 使用 ruby​​ 将 HTML 转换为纯文本并维护结构/格式 - 2

    我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h

  2. ruby-on-rails - Rails HTML 请求渲染 JSON - 2

    在我的Controller中,我通过以下方式在我的index方法中支持HTML和JSON:respond_todo|format|format.htmlformat.json{renderjson:@user}end在浏览器中拉起它时,它会自然地以HTML呈现。但是,当我对/user资源进行内容类型为application/json的curl调用时(因为它是索引方法),我仍然将HTML作为响应。如何获取JSON作为响应?我还需要说明什么? 最佳答案 您应该将.json附加到请求的url,提供的格式在routes.rb的路径中定义。这

  3. ruby-on-rails - 使用 Sublime Text 3 突出显示 HTML 背景语法中的 ERB? - 2

    所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择

  4. ruby - 即时确定方法的可见性 - 2

    我正在编写一个方法,它将在一个类中定义一个实例方法;类似于attr_accessor:classFoocustom_method(:foo)end我通过将custom_method函数添加到Module模块并使用define_method定义方法来实现它,效果很好。但我无法弄清楚如何考虑类(class)的可见性属性。例如,在下面的类中classFoocustom_method(:foo)privatecustom_method(:bar)end第一个生成的方法(foo)必须是公共(public)的,第二个(bar)必须是私有(private)的。我怎么做?或者,如何找到调用我的cust

  5. ruby-on-rails - Ruby url 到 html 链接转换 - 2

    我正在使用Rails构建一个简单的聊天应用程序。当用户输入url时,我希望将其输出为html链接(即“url”)。我想知道在Ruby中是否有任何库或众所周知的方法可以做到这一点。如果没有,我有一些不错的正则表达式示例代码可以使用... 最佳答案 查看auto_linkRails提供的辅助方法。这会将所有URL和电子邮件地址变成可点击的链接(htmlanchor标记)。这是文档中的代码示例。auto_link("Gotohttp://www.rubyonrails.organdsayhellotodavid@loudthinking.

  6. ruby-on-rails - capybara ::ElementNotFound:无法找到 xpath "/html" - 2

    我正在学习http://ruby.railstutorial.org/chapters/static-pages上的RubyonRails教程并遇到以下错误StaticPagesHomepageshouldhavethecontent'SampleApp'Failure/Error:page.shouldhave_content('SampleApp')Capybara::ElementNotFound:Unabletofindxpath"/html"#(eval):2:in`text'#./spec/requests/static_pages_spec.rb:7:in`(root)'

  7. UE4 源码阅读:从引擎启动到Receive Begin Play - 2

    一、引擎主循环UE版本:4.27一、引擎主循环的位置:Launch.cpp:GuardedMain函数二、、GuardedMain函数执行逻辑:1、EnginePreInit:加载大多数模块int32ErrorLevel=EnginePreInit(CmdLine);PreInit模块加载顺序:模块加载过程:(1)注册模块中定义的UObject,同时为每个类构造一个类默认对象(CDO,记录类的默认状态,作为模板用于子类实例创建)(2)调用模块的StartUpModule方法2、FEngineLoop::Init()1、检查Engine的配置文件找出使用了哪一个GameEngine类(UGame

  8. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  9. ruby - 如何使用 Ruby 将 CSV 文件读入 HTML 表格? - 2

    我正在尝试将一个简单的CSV文件读入HTML表格以在浏览器中显示,但我遇到了麻烦。这就是我正在尝试的:Controller:defshow@csv=CSV.open("file.csv",:headers=>true)end查看:输出:NameStartDateEndDateQuantityPostalCode基本上我只获取标题,而不会读取和呈现CSV正文。 最佳答案 这最终成为最终解决方案:Controller:defshow#OpenaCSVfile,andthenreaditintoaCSV::Tableobjectforda

  10. ruby - 如何使用 Nokogiri 解析纯 HTML 表格? - 2

    我想用Nokogiri解析HTML页面。页面的一部分有一个表,它没有使用任何特定的ID。是否可以提取如下内容:Today,3,455,34Today,1,1300,3664Today,10,100000,3444,Yesterday,3454,5656,3Yesterday,3545,1000,10Yesterday,3411,36223,15来自这个HTML:TodayYesterdayQntySizeLengthLengthSizeQnty345534345456563113003664354510001010100000344434113622315

随机推荐