国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

通過寫一個簡單的東方系彈幕入門微信小游戲

Harpsichord1207 / 2958人閱讀

摘要:入口文件整個微信小游戲?qū)嶋H上是運行在微信框架中一個原生中,沒有瀏覽器頁面環(huán)境如這就是為什么有一個模擬瀏覽器環(huán)境的適配器,啟動時小游戲框架運行,然后在中基本上都是對微信小游戲的調(diào)用及原生的操作了。

了解微信小游戲

官方文檔有詳細的介紹

小游戲的文件結(jié)構(gòu) 我們以新建一個官方示例說明

如圖 最外層除了readme外 有3個文件

game.js 程序入口

game.json小游戲配置文件

project.config.json 項目設(shè)置文件

具體配置可以查看官方文檔,只有這幾個文件需要按照文件名格式來寫,其他文件的內(nèi)容和

這個文件是官方示例中用于模擬瀏覽器環(huán)境的適配器,如有需要可以自己寫,我們這里沿用這個。

入口文件 game.js

import "./js/libs/weapp-adapter"
import "./js/libs/symbol"

import Main from "./js/main"

new Main()

整個微信小游戲?qū)嶋H上是運行在微信框架中一個原生canvas中,沒有瀏覽器頁面環(huán)境如document(這就是為什么有一個模擬瀏覽器環(huán)境的適配器),啟動時小游戲框架運行g(shù)ame.js,然后在main.js中基本上都是對微信小游戲api的調(diào)用及原生canvas的操作了。如果之前使用過原生canvas或者其他canvas庫的同學(xué) 馬上就可以上手開發(fā)0成本,官方開發(fā)工具也有es6=》es5的轉(zhuǎn)換所以如果項目比較小都不用其他東西,直接文本編輯器修改 保存 查看 即可。

開工

音頻使用原來的代碼

幀定時也使用wx的回調(diào)函數(shù)

window.requestAnimationFrame(
      this.TimerHandel.bind(this),
      canvas
    )

引入一個canvas2d庫createjs中的ease 和一個自己寫的工具庫

import "./js/libs/weapp-adapter"
import "./js/libs/ease"
import "./js/plugin/Math"

import Main from "./js/main"
window.main = new Main();

保留原來的觸摸移動飛機并且新增重力感應(yīng)移動飛機

this.initEvent();
wx.startAccelerometer({ success:()=>{console.log("開始監(jiān)聽加速計")}});
wx.onAccelerometerChange((res)=>{
  this.player.speedx = Math.floor(res.x*100)/10;
  this.player.speedy = Math.floor(-res.y * 100)/10;
})

其他全部刪除 基于create.js庫重寫;所有子彈繼承一個父類

export default class Bullet_Super {

    constructor(cantiner, SHOOT_FRAME = 10,sprite_sheet) {
        this.cantiner = cantiner;
        this.shoot_frame = SHOOT_FRAME;
        this.list = [];
        this.deletelist = [];
        this.y = 0;
        this.x = 0;

        this.spriteSheet = new createjs.SpriteSheet(sprite_sheet);
    }
    outOfScreen(s, test) {
        if (test) {
            if (s.y > window.innerHeight + 100 || s.x > window.innerWidth + 100 || s.x < -100) {
                this.deletelist.push(s);
                s.visible = false;
                return false;
            }
        }
        return true;
    }
    createSprite(anime, option, die_option) {
        let isnew = true;
        let sprite = this.deletelist.length > 0
            ? (isnew = false, this.deletelist.shift())
            : new createjs.Sprite(this.spriteSheet, anime);
        sprite.isdie = false;
        sprite.dieing_frame=0;
        sprite.diecount = 0;
        Object.assign(sprite, option);
        sprite.die = sprite.die || (() => {
            sprite.isdie = true;
            Object.assign(sprite, die_option);
        });
        !isnew
            ? (sprite.visible = true, sprite.gotoAndPlay(anime))
            : this.cantiner.addChild(sprite);
        this.list.push(sprite);
    }
    update(timeFunc, dieFunc, diedFunc, test) {
        this.list = this.list.filter((s) => {
            if (s.isdie) {
                s.diecount++;
                dieFunc(s);
                if (s.diecount > (s.dieing_frame)) {
                    diedFunc(s);
                    this.deletelist.push(s);
                    s.visible = false;
                    return false;
                }
                return true;
            }
            timeFunc(s);
            return this.outOfScreen(s, test);
        });
    }
}

之后就是實現(xiàn)各種彈幕,計分顯示等

具體移步github https://github.com/lichffffd/we...
b站演示https://www.bilibili.com/vide...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/107311.html

相關(guān)文章

  • 使用pygame開發(fā)游戲發(fā)布+小總結(jié)

    摘要:于是準(zhǔn)備在這里總結(jié)下用開發(fā)游戲的經(jīng)驗,大致講一下這個游戲是怎么開發(fā)出來的,代碼比較長就不貼在這里了。為本游戲的證物系統(tǒng),管理證物的顯示,指證等。 概述 大約兩年前接觸了python,然后就愛上了這個語言。然后就想用它寫游戲,很快就找到了pygame這個庫,但是pygame貌似十分冷門,網(wǎng)上教程也比較少,好在還有個文檔來參考。于是胡亂搞了很久,前后搞了彈幕射擊類(模擬東方project系...

    songze 評論0 收藏0
  • 第三方庫

    摘要:微信支付,支付寶支付,銀聯(lián)支付三大支付總結(jié)支付寶植入總結(jié)支付寶的植基于和百度地圖的組件庫基于百度地圖封裝的組件庫,使用這個庫最好需要先了解和百度地圖。 Commento - 多說 & Disqus 開源替代品 Commento - 多說 & Disqus 開源替代品 anime.js 簡單入門教程 強大輕量的動畫庫 anime.js 入門教程 來自B站的開源的MagicaSakura源...

    seanHai 評論0 收藏0
  • 第三方庫

    摘要:微信支付,支付寶支付,銀聯(lián)支付三大支付總結(jié)支付寶植入總結(jié)支付寶的植基于和百度地圖的組件庫基于百度地圖封裝的組件庫,使用這個庫最好需要先了解和百度地圖。 Commento - 多說 & Disqus 開源替代品 Commento - 多說 & Disqus 開源替代品 anime.js 簡單入門教程 強大輕量的動畫庫 anime.js 入門教程 來自B站的開源的MagicaSakura源...

    gityuan 評論0 收藏0
  • 前端基礎(chǔ)入門

    摘要:手把手教你做個人火的時候,隨便一個都能賺的盆滿缽滿,但是,個人沒有服務(wù)端,沒有美工,似乎就不能開發(fā)了,真的是這樣的嗎秘密花園經(jīng)典的中文手冊。涵蓋前端知識體系知識結(jié)構(gòu)圖書推薦以及入門視頻教程,全的簡直不要不要的了。 JavaScript 實現(xiàn)點擊按鈕復(fù)制指定區(qū)域文本 html5 的 webAPI 接口可以很輕松的使用短短的幾行代碼就實現(xiàn)點擊按鈕復(fù)制區(qū)域文本的功能,不需要依賴 flash。...

    shinezejian 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<