任何人都可以告诉我为什么ActionScript 3,一种静态类型的语言,没有泛型?工作太多了吗?历史的事情?有没有办法"伪造"我还没有拿起来呢?
编辑:非常感谢你的答案!该Vector课程基本上是我所寻找的,其他信息也很有帮助.
我有一个多语言项目(目前有13种语言),它使用了许多不同的字体变体"Helvetica Neue",大多是LinoType Pro字体集(包括西欧字符)的粗体,浓缩和常规剪辑,以及西里尔字母.我们可能会在未来添加中文和日文版本.
我已经设置了项目以使用不同的CSS样式表,并根据用户选择的语言单独加载每个版本的字体,因此我可以使用不同的行高,字距调整和/或字体大小来使所有内容保持原始外观,即使字体看起来没什么相似之处.
所有这些都很有效,除了一个问题:由于某种原因,所有西里尔字母似乎都被取代了.它们显示在正确基线下方2-3个像素处,实际上突出显示在文本字段的下边框上,即使该字段设置为自动调整大小.当我使用时textfield.getCharBoundaries(),所有值似乎都是正确的,即使它们显然没有正确呈现.
为了使一切看起来整洁,我当然可以根据语言和字体大小手动上下移动所有有问题的文本字段,但我想知道是否有某种方法可以防止或至少检测到这种位移以便自动处理调整 - Flash Player应该有关于如何呈现事物的某种信息,不是吗?你们有没有类似的问题?或者更好:解决方案?
flash fonts internationalization actionscript-3 text-rendering
我正在开发一个项目,要求我使用来自网络摄像头的录制流动态嵌入元数据.我正在使用Flash Builder 4.5.1创建移动项目.我正在使用一个简单的netStream.send函数来设置我想要的元数据.这可以正常工作,直到我的网络流时间超过10秒,然后该功能停止工作或不会嵌入到视频中.我的所有连接都是正确的,我可以录制到Flash Media Server
我唯一能想到的是我的Flash Media Server 4 Developer被过载并且不计算我发送的元数据.
任何想法都会有很大帮助.
private function sendMetadata():void {
infotxt.text += 'called';
trace("sendMetaData() called")
myMetadata = new Object();
myMetadata.customProp = "This message is sent by @setDataFrame.";
myMetadata.customOther = cueHolder;
ns.send("@setDataFrame", "onMetaData", myMetadata);
}
Run Code Online (Sandbox Code Playgroud)
这是我的onMetaData函数
public function onMetaData(info:Object):void {
trace("caught");
infotxt.text = 'caught';
var key:String;
for (key in info){
outputWindow.text +=(key + ": " + info[key] + "\n");
}
//cueHolderReturn = info.customOther;
for (var i:int = 0; i < info.customOther.length; i++)
{
infotxt.text += info.customOther[i] …Run Code Online (Sandbox Code Playgroud) 是否可以从运行在同一台机器上的Web浏览器访问连接到计算机的智能卡读卡器,即从ActionScript,JavaScript或其中运行的任何脚本?
例如,我flash.external.ExternalInterface在ActionScript中阅读了有关该类的内容.它可以用于访问智能卡读卡器还是Sandbox难以穿透?
javascript browser actionscript-3 smartcard smartcard-reader
我是Java新手,但对ActionScript 3有一些OOP经验,所以我试图依靠我所知道的东西进行迁移.
在ActionScript 3中,您可以使用get和set关键字创建getter和setter,这意味着您在类中创建方法并通过该类的实例的属性访问数据.我可能听起来很复杂,但事实并非如此.这是一个例子:
class Dummy{
private var _name:String;
public function Dummy(name:String=null){
this._name = name;
}
//getter
public function get name():String{
return _name;
}
//setter
public function set name(value:String):void{
//do some validation if necessary
_name = value;
}
}
Run Code Online (Sandbox Code Playgroud)
我会name在一个对象中访问:
var dummy:Dummy = new Dummy("fred");
trace(dummy.name);//prints: fred
dummy.name = "lolo";//setter
trace(dummy.name);//getter
Run Code Online (Sandbox Code Playgroud)
我怎么用Java做到这一点?
只是拥有一些公共领域是不可能的.我注意到有一种在方法前面使用get和set的约定,我很好.
例如,
class Dummy{
String _name;
public void Dummy(){}
public void Dummy(String name){
_name = name;
}
public String getName(){
return _name;
}
public void setName(String …Run Code Online (Sandbox Code Playgroud) 给定一个对象:
myObj = {key : 'value'}
我如何获得钥匙?
我在Flex中写了(大部分)应用程序,我担心保护源代码.我启动了一个Trillix swf反编译器的演示,并打开了安装到我的Program Files目录的swf文件.我看到我写的所有动作包都在那里.即使有大量代码,我也不太关心软件包,因为如果没有mxml文件,它似乎仍然无法使用.我认为它们会被转换为动作脚本,或者至少我希望如此.但是,我仍然想探讨混淆.
有没有人对Flash/Actionscript 3/Flex混淆器有任何经验?你能推荐一款好产品吗?
从Array()中间删除一个特定条目的最快方法是什么?
数组很大,有字符串.
我不想只设置Array [5] = null,而是将数组大小减少一个,而array [5]应该包含数组[6]的内容等.
我希望为我正在考虑的夏季项目编写自己的语法高亮显示器,但我不知道如何编写自己的语法高亮显示器.
我知道有很多实现,但我想了解正则表达式以及语法高亮如何工作.
语法高亮如何工作以及开发语法有哪些好的参考?语法高亮显示器是否在键入每个字符时扫描每个字符,还是在键入每个字符后整体扫描文档/文本区域?
任何见解将不胜感激.
谢谢.
PS:我打算用ActionScript编写它
有没有办法在AS3中以我们在其他语言中的方式定义枚举?我可以用这样的定义值定义常量:
private const CONST_1:int = 0;
private const CONST_2:int = 1;
private const CONST_3:int = 2;
Run Code Online (Sandbox Code Playgroud)
等等.如果我想在3之间插入一些其他常量,我需要移动所有这样的值:
private const CONST_1:int = 0;
private const CONST_2:int = 1;
private const CONST_2A:int = 2;
private const CONST_3:int = 3;
Run Code Online (Sandbox Code Playgroud)
而在其他语言中,我最终只会添加一个新的成员来枚举闭包:
enum {
CONST_1 = 0,
CONST_2,
CONST_2A,
CONST_3
} MyConstEnum;
Run Code Online (Sandbox Code Playgroud)
AS3有类似的东西吗?
谢谢
actionscript-3 ×10
apache-flex ×3
accessor ×1
air ×1
browser ×1
enumeration ×1
flash ×1
flex3 ×1
flex4.5 ×1
fonts ×1
getter ×1
java ×1
javascript ×1
obfuscation ×1
object ×1
regex ×1
setter ×1
smartcard ×1