我正在创建一个游戏,其中很多图像都在Actionscript/Flex 3(Flash)中使用.现在我已经到了设计师舞台,我必须制定一种使用嵌入式图像的结构方法(必须通过旋转,颜色等进行操作).
不幸的是,经过一番调查后,您似乎必须手动嵌入图像才能使用它们.我目前的设置如下:
Resource.as类文件:
package
{
public final class Resource
{
[Embed (source="/assets/ships/1.gif" )]
public static const SHIPS_1:Class;
}
}
Run Code Online (Sandbox Code Playgroud)
所以,我只需要一艘船就可以:
将图像放在具有正确名称的正确文件夹中在Resource.as文件中以相同方式命名它在Resource.as文件中创建具有相同名称的常量
即使只是将文件放在指定的文件夹中,这一切都是可能的.
更糟糕的是,我仍然需要使用:
var test:Bitmap = new Resource.SHIPS_1();
Run Code Online (Sandbox Code Playgroud)
在创建非常庞大的应用程序时,必须有更好的方法来处理资源?想象一下,我需要成千上万的图像,这个系统根本不适合.
采用以下Typescript箭头功能:
/**
* Returns a probably unique component name.
*
* @param baseName a suggested name to make unique.
* @returns a probably unique name.
*/
export const getUniqueComponentName = (
baseName
): string => {
return baseName + Math.round(Math.random() * 10000000)
}
Run Code Online (Sandbox Code Playgroud)
当Typescript配置tsconfig.json为这样时:
"noImplicitAny": true,
Run Code Online (Sandbox Code Playgroud)
这正确导致编译错误:
[ts]参数'baseName'隐式具有'any'类型.
Visual Studio Code也非常智能,可以在开发过程中告知您这个问题.
我的目标是创建一个precommit git hook,以防止此类错误在版本控制中结束.我试着这样做tslint,husky并lint-staged使用这个npm script:
"lint": "tslint --project tsconfig.json --config tslint.json"
Run Code Online (Sandbox Code Playgroud)
但是,这不会导致tslint显示编译错误.它被默默地忽略了.
然后我尝试在tslint.json中添加一条规则:
"typedef": [
true,
"arrow-parameter"
]
Run Code Online (Sandbox Code Playgroud)
虽然这确实让tslint抱怨,但它也开始抱怨匿名箭头函数,tsc …
我有以下功能:
/**
* Retrieves a component template from filesystem
*/
const getComponentTemplate = async (
p: string
): Promise<string> => {
let template: string
try {
template = await fs.readFile(p, {
encoding: 'utf8'
})
} catch (e) {
if (e instanceof Error && e.code === 'ENOENT') {
throw new Error(`template for element type ${elementType} not found`)
}
throw e
}
return template
}
Run Code Online (Sandbox Code Playgroud)
打字稿在这里抱怨:
[ts] Property 'code' does not exist on type 'Error'
这是因为 JavascriptError类只有属性message 和 name …
我正在尝试创建一个基于"ajax"的小型多人游戏.PHP"处理程序"给出了对象的坐标.通过使用ajax,每200MS轮询此handler.php文件.
由于没有必要在没有任何事情发生时进行轮询,我想知道,如果没有频繁的轮询,是否可以做同样的事情?例如.彗星,虽然我听说你需要为Comet配置服务器端应用程序.这是一个共享的网络服务器,所以我不能这样做.
如果不需要在客户端更改任何内容,可能会阻止handler.php文件甚至返回响应,这可能吗?然后,即使事情没有改变,你仍然会让客户无用地要求回复.基本上,如果需要向客户端告知某些内容,它应该只使用带宽和服务器资源,例如.对象坐标的变化.
我在三星Galaxy S i9000上测试它.
int sampleRate = 44100;
int bufferSize = AudioRecord.getMinBufferSize(sampleRate,
AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_8BIT);
Run Code Online (Sandbox Code Playgroud)
它返回-2 ERROR_BAD_VALUE.
原始采样率为44100Hz,由返回
AudioTrack.getNativeOutputSampleRate(AudioManager.STREAM_SYSTEM).
我已经尝试将sampleRate设置为1000,8000,22100和44100.我也尝试过更改AudioFormat.CHANNEL_IN_MONO为AudioFormat.CHANNEL_CONFIGURATION_MONO.我也试过STEREO(两个IN_STEREO和CONFIGURATION_STEREO).我也尝试过16位编码而不是8位.
更新:我的清单有AUDIO_RECORD权限.
结果我一直得-2.为什么会这样?
我通常使用组件组合来重用逻辑React方式.例如,这是一个关于如何将交互逻辑添加到组件的简化版本.在这种情况下,我会CanvasElement选择:
CanvasElement.js
import React, { Component } from 'react'
import Selectable from './Selectable'
import './CanvasElement.css'
export default class CanvasElement extends Component {
constructor(props) {
super(props)
this.state = {
selected: false
}
this.interactionElRef = React.createRef()
}
onSelected = (selected) => {
this.setState({ selected})
}
render() {
return (
<Selectable
iElRef={this.interactionElRef}
onSelected={this.onSelected}>
<div ref={this.interactionElRef} className={'canvas-element ' + (this.state.selected ? 'selected' : '')}>
Select me
</div>
</Selectable>
)
}
}
Run Code Online (Sandbox Code Playgroud)
Selectable.js
import { Component } from 'react'
import PropTypes from 'prop-types' …Run Code Online (Sandbox Code Playgroud) javascript composition higher-order-functions reactjs higher-order-components
上下文
纱线工作区提供方便的单一回购功能,其中包自动链接.即,他们可以相互要求/导入,并且他们的二进制文件可以从工作区根目录链接和访问.
一个例子:
工作区/的package.json
{
"name": "200180719-yarn-bin",
"version": "1.0.0",
"workspaces": [
"packages/*"
],
"private": true
}
Run Code Online (Sandbox Code Playgroud)
工作区/包/ A /的package.json
{
"name": "a",
"version": "1.0.0",
"main": "src/index.js",
"bin": {
"mycli": "src/index.js"
}
}
Run Code Online (Sandbox Code Playgroud)
工作区/包/ A/src目录/ index.js
#!/usr/bin/env node
console.log('welcome to the cli')
Run Code Online (Sandbox Code Playgroud)
如果然后将目录更改为主工作区并运行yarn install,则yarn正确链接二进制文件,您可以运行:
yarn run mycli
Run Code Online (Sandbox Code Playgroud)
从工作区目录就好了.大!
问题
我yarn install遇到的问题是,如果你的代码首先必须编译,那么二进制文件在完成之前将不可用(因为你不应该在版本控制中提供已编译的代码).我使用Typescript来编译我的cli:
重命名index.js到index.ts并更新a/package.json到:
{
"name": "a",
"version": "1.0.0",
"main": "src/index.js",
"bin": {
"mycli": "dist/index.js"
},
"scripts": {
"build": "tsc src/index.ts --outDir dist", …Run Code Online (Sandbox Code Playgroud) 上下文
纱线工作空间提供了一种依赖单声道包装的便捷方式.当包A依赖于包B时,包B中定义的接口等在包A中被适当地解析.
问题
我面临的问题是,如果包B依赖于外部库,但外部库缺少打字,因此包B创建了自己的some-library.d.ts文件.当使用tslintlint包A时,对于包B中的表达式,此自定义定义文件已正确解析,但对于包A中与包B中的类型一起使用的表达式则无法解析.
我在这里推出了一个简单的例子:
https://github.com/tommedema/tslint-yarn-workspaces
它的核心如下.
包/ A/src目录/ index.ts
// tslint:disable:no-console
import { someDependedFn } from 'b'
export const someDependingFn = (): void => {
const someNr = someDependedFn('pascal-case-me')
console.log(someNr)
}
Run Code Online (Sandbox Code Playgroud)
包/ B/src目录/ index.ts
import camelCase from 'camelcase'
export const someDependedFn = (str: string): string => {
const camelStr = camelCase(str, { pascalCase: true })
return camelStr
}
Run Code Online (Sandbox Code Playgroud)
包/ B/src目录/分型/驼峰/ index.d.ts
// Type definitions for camelcase 5.0
// Project: https://github.com/sindresorhus/camelcase
// tslint:disable only-arrow-functions …Run Code Online (Sandbox Code Playgroud) 我必须尽快检查缓冲区输入到PHP套接字服务器.为此,我需要知道输入消息$ buffer是否包含除以下内容之外的任何其他字符:az,AZ,0-9,#, - ,. 和$
我目前正在使用以下ereg函数,但想知道是否有方法来优化速度.我应该使用不同的功能,还是使用不同的正则表达式?
if (ereg("[A-Za-z0-9]\.\#\-\$", $buffer) === false)
{
echo "buffer only contains valid characters: a-z, A-Z, 0-9, #, -, ., $";
}
Run Code Online (Sandbox Code Playgroud) 以下内容适用于Android操作系统.
我正在尝试使用相机估算手机所在房间的暗(或亮).
这个想法是相机可以返回一定的亮度级别,我可以使用它来确定手机周围的光线量.
我的问题很简单:如何使用相机(后置摄像头的正面)来获得这样的亮度("光量")?
提前致谢.
typescript ×3
android ×2
javascript ×2
tslint ×2
yarnpkg ×2
ajax ×1
brightness ×1
camera ×1
comet ×1
composition ×1
flex3 ×1
html5 ×1
husky ×1
image ×1
java ×1
lerna ×1
lint-staged ×1
monorepo ×1
multiplayer ×1
node.js ×1
php ×1
reactjs ×1
regex ×1
resources ×1
symlink ×1
validation ×1