开源微信小程序源码+小程序游戏代码附搭建框架教程

  在本教程中,我们将使用Kaboom框架来开发一个微信小程序源码框架,类似于Atari 的Breakout和Taito的Arkanoid等经典小程序。
  源码:y.wxlbyx.icu
  在本教程结束时,您将能够:
  使用 Kaboom 框架开发具有多个级别的微信小程序源码框架。
  通过添加自己的通电和方块类型来构建基本小程序。
  我们完成的小程序源码将如下所示:
  我们将使用Michele Bucelli的这组精灵和Jaymin Covy的这个包中的音效。我们还将使用Soundimage.org的Eric Matyas的音乐。

 
  入门
  登录您的Replit帐户并创建一个新的 repl。选择Kaboom作为您的项目类型。给这个 repl 起个名字,比如“blockbreaker”。
  创建一个新的副本
  Kaboom repls 与您之前可能见过的其他类型的 repls 完全不同:您将处理代码、声音和精灵,而不是直接处理文件夹中的文件,后者可以直接在 Replit 的图像编辑器中绘制。
  在我们开始编码之前,我们需要上传我们的精灵和声音。下载此 ZIP 文件并将其解压缩到您的计算机上。单击侧边栏上的“文件”图标,将提取文件的 Sounds 文件夹中的所有内容上传到 repl 的“sounds”部分,并将 Sprites 文件夹中的所有内容上传到 repl 的“sprites”部分。
  上传文件后,您可以单击侧边栏中的“Kaboom”图标,然后返回“主”代码文件。


  加载源码文件
  当您第一次打开新的 Kaboom repl 时,您会看到一个包含以下示例代码的文件。

  import kaboom from "kaboom";
  // initialize context
  kaboom();
  // load assets
  loadSprite("bean", "sprites/bean.png");
  // add a character to screen
  add([
  // list of components
  sprite("bean"),
  pos(80, 40),
  area(),
  ]);
  // add a kaboom on mouse click
  onClick(() => {
  addKaboom(mousePos())
  })
  // burp on "b"
  onKeyPress("b", burp)
  在我们开始开发我们的小程序之前,让我们删除大部分代码,只留下以下几行:
  import kaboom from "kaboom";
  // initialize context
  kaboom();


  现在我们可以为我们自己的小程序搭建舞台了。首先,我们将小程序背景设置为黑色,并通过更改Kaboom 上下文初始化来修复小程序的屏幕大小。将以下内容添加到该行kaboom();:

  // initialize context
  kaboom({
  width: 768,
  height: 360,
  background: [0,0,0]
  });

接下来,我们需要为我们的小程序对象导入精灵:玩家的桨、球和可破坏的块。由于我们使用的 OpenGameArt 精灵都在一个图像文件中,我们将使用 Kaboom 的loadSpriteAtlas()函数加载它们。这为我们省去了将每个精灵拆分成自己的图像文件的麻烦。将以下代码添加到主代码文件的底部:

  loadSpriteAtlas("sprites/breakout_pieces.png", {
  "blocka": {
  x: 8,
  y: 8,
  width: 32,
  height: 16,
  },
  "blockb": {
  x: 8,
  y: 28,
  width: 32,
  height: 16,
  },
  "blockc": {
  x: 8,
  y: 48,
  width: 32,
  height: 16,
  },
  "blockd": {
  x: 8,
  y: 68,
  width: 32,
  height: 16,
  },
  "paddle": {
  x: 8,
  y: 152,
  width: 64,
  height: 16,
  },
  "ball": {
  x: 48,
  y: 136,
  width: 8,
  height: 8,
  },
  "heart": {
  x: 120,
  y: 136,
  width: 8,
  height: 8,
  }
  });

  请注意,我们已经导入了四个不同的块精灵,名为block{a-d}. 每个精灵都有不同的颜色,并且在损坏时将获得不同的分数。我们还保留了精灵表的大部分内容不变——基本小程序只需要几个精灵。
  接下来,我们需要导入一种字体,我们将使用它来显示玩家的得分和生命值。由于 Kaboom 带有许多我们可以使用的默认字体,这一步是可选的,但它有助于为我们的小程序提供一种有凝聚力的视觉风格。

  loadFont("breakout", "sprites/breakout_font.png", 6, 8,  { chars: "ABCDEFGHIJKLMNOPQRSTUVWXYZ  0123456789:!'" });

  我们使用了 Kaboom 的loadFont()函数,指定了字体的名称、从中获取字体的图像文件、单个字符的宽度和高度,以及它包含的字符。查看 Kaboom的布局breakout_font.png以了解 Kaboom 所期望的格式。另请注意,我们将无法使用此处表示的字符之外的任何字符——这包括小写字母。
  最后,我们需要加载我们的音效和音乐。在底部添加以下代码来执行此操作:

  // sounds
  loadSound("blockbreak", "sounds/Explosion5.ogg");
  loadSound("paddlehit", "sounds/Powerup20.ogg");
  loadSound("powerup", "sounds/Powerup2.ogg");
  loadSound("ArcadeOddities", "sounds/Arcade-Oddities.mp3");

猜你喜欢

转载自blog.csdn.net/yzcodesr/article/details/126687252