mirror of
https://github.com/smallmain/cocos-enhance-kit.git
synced 2025-10-09 20:15:23 +00:00
[adapters] 增加小游戏适配部分源码
This commit is contained in:
5
adapters/platforms/taobao/res/app.acss
Normal file
5
adapters/platforms/taobao/res/app.acss
Normal file
@@ -0,0 +1,5 @@
|
||||
page {
|
||||
background: #f7f7f7;
|
||||
display: flex;
|
||||
flex: 1;
|
||||
}
|
41
adapters/platforms/taobao/res/app.js
Normal file
41
adapters/platforms/taobao/res/app.js
Normal file
@@ -0,0 +1,41 @@
|
||||
var onShowCB;
|
||||
var onHideCB;
|
||||
|
||||
App({
|
||||
onLaunch(options) {
|
||||
console.info('App onLaunched');
|
||||
$global.__cocosCallback = function () {
|
||||
require('./ccRequire');
|
||||
require('adapter-js-path');
|
||||
__globalAdapter.init();
|
||||
require('cocos2d-js-path');
|
||||
require('physics-js-path');
|
||||
__globalAdapter.adaptEngine();
|
||||
|
||||
require('./src/settings');
|
||||
// Introduce Cocos Service here
|
||||
require('./main'); // TODO: move to common
|
||||
|
||||
// Adjust devicePixelRatio
|
||||
cc.view._maxPixelRatio = 4;
|
||||
|
||||
// Release Image objects after uploaded gl texture
|
||||
cc.macro.CLEANUP_IMAGE_CACHE = true;
|
||||
|
||||
window.boot();
|
||||
};
|
||||
|
||||
__globalAdapter.onShow = function (cb) {
|
||||
onShowCB = cb;
|
||||
};
|
||||
__globalAdapter.onHide = function (cb) {
|
||||
onHideCB = cb;
|
||||
};
|
||||
},
|
||||
onShow(options) {
|
||||
onShowCB && onShowCB();
|
||||
},
|
||||
onHide(options) {
|
||||
onHideCB && onHideCB();
|
||||
},
|
||||
});
|
12
adapters/platforms/taobao/res/app.json
Normal file
12
adapters/platforms/taobao/res/app.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"pages": [
|
||||
"pages/index/index"
|
||||
],
|
||||
"window": {
|
||||
"defaultTitle": "CocosCreator",
|
||||
"allowsBounceVertical":"NO",
|
||||
"enableMultiAudio":true,
|
||||
"enableAudioAlign":true,
|
||||
"enableSkia":true
|
||||
}
|
||||
}
|
11
adapters/platforms/taobao/res/ccRequire.js
Normal file
11
adapters/platforms/taobao/res/ccRequire.js
Normal file
@@ -0,0 +1,11 @@
|
||||
let moduleMap = {
|
||||
// tail
|
||||
};
|
||||
|
||||
window.__cocos_require__ = function (moduleName) {
|
||||
let func = moduleMap[moduleName];
|
||||
if (!func) {
|
||||
throw new Error(`cannot find module ${moduleName}`);
|
||||
}
|
||||
return func();
|
||||
};
|
39
adapters/platforms/taobao/res/global-variables.js
Normal file
39
adapters/platforms/taobao/res/global-variables.js
Normal file
@@ -0,0 +1,39 @@
|
||||
var window = $global;
|
||||
var cc = window.cc = window.cc || {};
|
||||
var b2 = window.b2 = window.b2 || {};
|
||||
var sp = window.sp = window.sp || {};
|
||||
var dragonBones = window.dragonBones = window.dragonBones || {};
|
||||
var __globalAdapter = window.__globalAdapter = window.__globalAdapter || {};
|
||||
var __cocos_require__ = window.__cocos_require__;
|
||||
var Image = window.Image;
|
||||
var HTMLCanvasElement = window.HTMLCanvasElement;
|
||||
var HTMLImageElement = window.HTMLImageElement;
|
||||
var ImageBitmap = window.ImageBitmap;
|
||||
var document = window.document;
|
||||
var DOMParser = window.DOMParser;
|
||||
var performance = window.performance;
|
||||
var XMLHttpRequest = window.XMLHttpRequest;
|
||||
var WebSocket = window.WebSocket;
|
||||
var __extends = window.__extends;
|
||||
var __assign = window.__assign;
|
||||
var __rest = window.__rest;
|
||||
var __decorate = window.__decorate;
|
||||
var __param = window.__param;
|
||||
var __metadata = window.__metadata;
|
||||
var __awaiter = window.__awaiter;
|
||||
var __generator = window.__generator;
|
||||
var __exportStar = window.__exportStar;
|
||||
var __createBinding = window.__createBinding;
|
||||
var __values = window.__values;
|
||||
var __read = window.__read;
|
||||
var __spread = window.__spread;
|
||||
var __spreadArrays = window.__spreadArrays;
|
||||
var __await = window.__await;
|
||||
var __asyncGenerator = window.__asyncGenerator;
|
||||
var __asyncDelegator = window.__asyncDelegator;
|
||||
var __asyncValues = window.__asyncValues;
|
||||
var __makeTemplateObject = window.__makeTemplateObject;
|
||||
var __importStar = window.__importStar;
|
||||
var __importDefault = window.__importDefault;
|
||||
var __classPrivateFieldGet = window.__classPrivateFieldGet;
|
||||
var __classPrivateFieldSet = window.__classPrivateFieldSet;
|
64
adapters/platforms/taobao/res/main.js
Normal file
64
adapters/platforms/taobao/res/main.js
Normal file
@@ -0,0 +1,64 @@
|
||||
window.boot = function () {
|
||||
var settings = window._CCSettings;
|
||||
window._CCSettings = undefined;
|
||||
|
||||
var onStart = function () {
|
||||
|
||||
cc.view.enableRetina(true);
|
||||
cc.view.resizeWithBrowserSize(true);
|
||||
|
||||
var launchScene = settings.launchScene;
|
||||
|
||||
// load scene
|
||||
cc.director.loadScene(launchScene, null,
|
||||
function () {
|
||||
console.log('Success to load scene: ' + launchScene);
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
var option = {
|
||||
id: 'GameCanvas',
|
||||
debugMode: settings.debug ? cc.debug.DebugMode.INFO : cc.debug.DebugMode.ERROR,
|
||||
showFPS: settings.debug,
|
||||
frameRate: 60,
|
||||
groupList: settings.groupList,
|
||||
collisionMatrix: settings.collisionMatrix,
|
||||
}
|
||||
|
||||
cc.assetManager.init({
|
||||
bundleVers: settings.bundleVers,
|
||||
subpackages: settings.subpackages,
|
||||
remoteBundles: settings.remoteBundles,
|
||||
server: settings.server
|
||||
});
|
||||
|
||||
var RESOURCES = cc.AssetManager.BuiltinBundleName.RESOURCES;
|
||||
var INTERNAL = cc.AssetManager.BuiltinBundleName.INTERNAL;
|
||||
var MAIN = cc.AssetManager.BuiltinBundleName.MAIN;
|
||||
var START_SCENE = cc.AssetManager.BuiltinBundleName.START_SCENE;
|
||||
var bundleRoot = [INTERNAL];
|
||||
settings.hasResourcesBundle && bundleRoot.push(RESOURCES);
|
||||
settings.hasStartSceneBundle && bundleRoot.push(MAIN);
|
||||
|
||||
var count = 0;
|
||||
function cb (err) {
|
||||
if (err) return console.error(err.message, err.stack);
|
||||
count++;
|
||||
if (count === bundleRoot.length + 1) {
|
||||
// if there is start-scene bundle. should load start-scene bundle in the last stage.
|
||||
// Otherwise the main bundle should be the last
|
||||
cc.assetManager.loadBundle(settings.hasStartSceneBundle ? START_SCENE : MAIN, function (err) {
|
||||
if (!err) cc.game.run(option, onStart);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// load plugins
|
||||
cc.assetManager.loadScript(settings.jsList.map(function (x) { return 'src/' + x;}), cb);
|
||||
|
||||
// load bundles
|
||||
for (var i = 0; i < bundleRoot.length; i++) {
|
||||
cc.assetManager.loadBundle(bundleRoot[i], cb);
|
||||
}
|
||||
};
|
8
adapters/platforms/taobao/res/mini.project.json
Normal file
8
adapters/platforms/taobao/res/mini.project.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"include": [
|
||||
"**/assets/**/*",
|
||||
"**/remote/**/*"
|
||||
],
|
||||
"enableAppxNg": true,
|
||||
"component2": true
|
||||
}
|
12
adapters/platforms/taobao/res/pages/index/index.axml
Normal file
12
adapters/platforms/taobao/res/pages/index/index.axml
Normal file
@@ -0,0 +1,12 @@
|
||||
<view class="canvas-element" style="flex-direction:row;display:flex;flex:1;background-color:rgba(0,0,0,1);">
|
||||
<canvas
|
||||
id="GameCanvas"
|
||||
type="webgl"
|
||||
onReady="canvasOnReady"
|
||||
style="width:100%;height:100%;"
|
||||
onTouchStart="onTouchStart"
|
||||
onTouchCancel="onTouchCancel"
|
||||
onTouchEnd="onTouchEnd"
|
||||
onTouchMove="onTouchMove"
|
||||
></canvas>
|
||||
</view>
|
66
adapters/platforms/taobao/res/pages/index/index.js
Normal file
66
adapters/platforms/taobao/res/pages/index/index.js
Normal file
@@ -0,0 +1,66 @@
|
||||
var touchstartCB;
|
||||
var touchcancelCB;
|
||||
var touchendCB;
|
||||
var touchmoveCB;
|
||||
|
||||
function handleTouchEvent (event) {
|
||||
let changedTouches = event.changedTouches;
|
||||
if (changedTouches) {
|
||||
for (let touch of changedTouches) {
|
||||
touch.clientX = touch.x;
|
||||
touch.clientY = touch.y;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Page({
|
||||
onReady () {
|
||||
__globalAdapter.onTouchStart = function (cb) {
|
||||
touchstartCB = cb;
|
||||
}
|
||||
__globalAdapter.onTouchCancel = function (cb) {
|
||||
touchcancelCB = cb;
|
||||
}
|
||||
__globalAdapter.onTouchEnd = function (cb) {
|
||||
touchendCB = cb;
|
||||
}
|
||||
__globalAdapter.onTouchMove = function (cb) {
|
||||
touchmoveCB = cb;
|
||||
}
|
||||
},
|
||||
onError (err) {
|
||||
console.error('error in page: ', err);
|
||||
},
|
||||
onTouchStart (event) {
|
||||
handleTouchEvent(event);
|
||||
touchstartCB && touchstartCB(event);
|
||||
},
|
||||
onTouchCancel (event) {
|
||||
handleTouchEvent(event);
|
||||
touchcancelCB && touchcancelCB(event);
|
||||
},
|
||||
onTouchEnd (event) {
|
||||
handleTouchEvent(event);
|
||||
touchendCB && touchendCB(event);
|
||||
},
|
||||
onTouchMove (event) {
|
||||
handleTouchEvent(event);
|
||||
touchmoveCB && touchmoveCB(event);
|
||||
},
|
||||
canvasOnReady () {
|
||||
my.createCanvas({
|
||||
id:'GameCanvas',
|
||||
success(canvas){
|
||||
if (!canvas) {
|
||||
console.error('failed to create canvas.');
|
||||
return;
|
||||
}
|
||||
$global.screencanvas = canvas;
|
||||
$global.__cocosCallback();
|
||||
},
|
||||
fail (err) {
|
||||
console.error('failed to init on screen canvas', err)
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
1
adapters/platforms/taobao/res/pages/index/index.json
Normal file
1
adapters/platforms/taobao/res/pages/index/index.json
Normal file
@@ -0,0 +1 @@
|
||||
{}
|
Reference in New Issue
Block a user