我使用下面的代码预加载一个音频文件数组(在用户与启动该过程的按钮交互后).在所有音频文件触发"canplaythrough"后,代码继续执行:
var loaded = 0;
function loadedAudio() {
// this will be called every time an audio file is loaded
// we keep track of the loaded files vs the requested files
loaded++;
console.log(loaded + " audio files loaded!");
if (loaded == audioFiles.length){
// all have loaded
main();
}
}
function preloadsounds()
{
$("#loader").show();
console.log(level.config);
audioFiles = level.config.soundfiles;
// we start preloading all the audio files with html audio
for (var i in audioFiles) {
preloadAudio(audioFiles[i]);
}
}
function preloadAudio(url) …Run Code Online (Sandbox Code Playgroud) 我有一个具有 PWA 功能的网页。
在 iOS safari 上,我确实收到了常见的操作系统对话框,询问我是否要拍照或从照片库上传图片:
通过菜单“添加到主屏幕”按钮将其“安装”为 PWA 并通过主屏幕启动后,我仍然得到相同的选项,“从库中选择”仍然有效,但是当选择“拍照”时,iOS 相机应用程序按预期打开,但保持全黑状态。
html:
<head>
<meta charset="utf-8">
<title>dingsda user interface 2</title>
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="mobile-web-app-capable" content="yes">
<link rel="manifest" href="manifest.json">
(...)
<label class="fileContainer ui-btn">
<input type="file" accept="image/jpeg" id="photo_upload" multiple data-role="none"/>
</label>
Run Code Online (Sandbox Code Playgroud)
仅连接 JavaScript:
document.getElementById("photo_upload").addEventListener("change",
function(){
console.log("got pic, will resize now:");
resizeBase64image(document.getElementById("photo_upload"),
function(base64img){
console.log("resized pic. will add it to src");
document.getElementById("addPhoto").src = base64img;
});
});
Run Code Online (Sandbox Code Playgroud)
我没有任何想法,也没有发现任何有关限制的线索。另外:无论如何,它似乎不应该提示对话框或照片应用程序。我很高兴收到任何建议。使用 HTML 文件输入或(如果可能)替代方案来修复它。
我有一个通过名称加载动态组件的模板:
<template>
<div>
<div>
<div>
<component
:is="getFormRenderer"
></component>
</div>
</div>
</div>
</template>
Run Code Online (Sandbox Code Playgroud)
getFormRenderer返回一个字符串(来自 API),该字符串通过名称标识组件。
所有可能的子组件(仅在本示例中telegram_send_message,并且time_time已导入并注册:
<script>
import { useStore } from "vuex";
import { computed } from "vue";
import exampleComponentOne from "@/components/forms/exampleComponentOne.vue";
import exampleComponentTwo from "@/components/forms/exampleComponentTwo.vue";
import defaultComponentTwo from "@/components/forms/defaultComponent.vue";
export default {
name: "ActionEditor",
setup() {
const store = useStore();
const getFormRenderer = computed(() => {
return (
store.state.level.actionSelected.plugin
);
});
return {
getFormRenderer,
};
},
components: {
exampleComponentOne,
exampleComponentTwo,
defaultComponent
},
};
</script> …Run Code Online (Sandbox Code Playgroud) 我想知道如何获取场景中给定点的光强度和/或像素值(rgba)。
例如,我有一个场景,移动的光照射在立方体上,并且想要测量立方体上某些点的亮度:
// Our Javascript will go here.
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );
var renderer = new THREE.WebGLRenderer({ preserveDrawingBuffer: true });
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshLambertMaterial( );
var cube = new THREE.Mesh( geometry, material );
cube.rotation.x += 0.4;
cube.rotation.y += 0.4;
scene.add( cube );
var plane_geo = new THREE.PlaneGeometry(2,2,2);
var plane = …Run Code Online (Sandbox Code Playgroud)