小编Tom*_*Tom的帖子

如何以正确的方式在Actionscript 3/Flex 3中嵌入图像?

我正在创建一个游戏,其中很多图像都在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)

在创建非常庞大的应用程序时,必须有更好的方法来处理资源?想象一下,我需要成千上万的图像,这个系统根本不适合.

resources image flex3 actionscript-3 embedded-resource

13
推荐指数
3
解决办法
6万
查看次数

如何lint for Typescript编译问题?

采用以下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,huskylint-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 …

pre-commit-hook typescript tslint husky lint-staged

12
推荐指数
1
解决办法
2971
查看次数

在 Typescript 中,如何区分 Node 和普通 Javascript 错误类型?

我有以下功能:

/**
 * 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 …

javascript node.js typescript

12
推荐指数
3
解决办法
7628
查看次数

是否有ajax的替代方案,如果没有服务器端修改则不需要轮询?

我正在尝试创建一个基于"ajax"的小型多人游戏.PHP"处理程序"给出了对象的坐标.通过使用ajax,每200MS轮询此handler.php文件.

由于没有必要在没有任何事情发生时进行轮询,我想知道,如果没有频繁的轮询,是否可以做同样的事情?例如.彗星,虽然我听说你需要为Comet配置服务器端应用程序.这是一个共享的网络服务器,所以我不能这样做.

如果不需要在客户端更改任何内容,可能会阻止handler.php文件甚至返回响应,这可能吗?然后,即使事情没有改变,你仍然会让客户无用地要求回复.基本上,如果需要向客户端告知某些内容,它应该只使用带宽和服务器资源,例如.对象坐标的变化.

ajax html5 comet multiplayer

11
推荐指数
4
解决办法
7122
查看次数

为什么AudioRecord.getMinBufferSize返回ERROR_BAD_VALUE(-2)?

我在三星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_MONOAudioFormat.CHANNEL_CONFIGURATION_MONO.我也试过STEREO(两个IN_STEREOCONFIGURATION_STEREO).我也尝试过16位编码而不是8位.

更新:我的清单有AUDIO_RECORD权限.

结果我一直得-2.为什么会这样?

android audio-recording

11
推荐指数
1
解决办法
1万
查看次数

如何将实例变量从React组件传递到其HOC?

我通常使用组件组合来重用逻辑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

11
推荐指数
2
解决办法
1572
查看次数

使用Yarn工作区,如何将编译后的二进制文件链接到工作区后编译?

上下文

纱线工作区提供方便的单一回购功能,其中包自动链接.即,他们可以相互要求/导入,并且他们的二进制文件可以从工作区根目录链接和访问.

一个例子:

工作区/的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.jsindex.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)

symlink lerna monorepo yarnpkg yarn-workspaces

11
推荐指数
0
解决办法
643
查看次数

如何让TSLint解决与Yarn工作区的间接类型依赖关系?

上下文

纱线工作空间提供了一种依赖单声道包装的便捷方式.当包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)

typescript tslint yarnpkg yarn-workspaces

11
推荐指数
1
解决办法
789
查看次数

PHP:检查无效字符的最快方法(除了az,AZ,0-9,#, - ,.,$)之外的所有字符?

我必须尽快检查缓冲区输入到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)

php regex validation

10
推荐指数
2
解决办法
6万
查看次数

Android:使用相机检测手机周围的亮度(光线量)?

以下内容适用于Android操作系统.

我正在尝试使用相机估算手机所在房间的暗(或亮).

这个想法是相机可以返回一定的亮度级别,我可以使用它来确定手机周围的光线量.

我的问题很简单:如何使用相机(后置摄像头的正面)来获得这样的亮度("光量")?

提前致谢.

java camera android brightness

10
推荐指数
2
解决办法
2万
查看次数