V2EX 首页   注册   登入
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请 登入
Sponsored by
唐茶 字节社
中文世界最好的电子书城
V2EX  ›  问与答

想开发一个air程序碰到了一些困难,求解答

By panlilu at 123 天前, 560 次点击
idea很简单,做一个全屏弹幕滚动微博客户端。类似AB站弹幕的效果。
大概功能有这么几个:
1.微博登录,显示你follow的timeline(也可以显示publictimeline
2.设置过滤关键字,滚动显示特定关键字的微博,比如“#春晚#”。
3.透明置顶,可拖动位置拉伸大小

大概大家都知道这玩意儿干啥用的了。就是无聊的时候可以看到一条条新发的微博滚动过去,以及一些事件(比如春晚直播的时候)看到大家对这个事儿的吐槽。。

目前的进度是成功的导入了新浪微博的SDK包使用API登录以及非常简单的trace滚动输出。

虽然看上去很简单,但是由于缺乏air程序开发的经验,所以碰到了不少困难。
1.关于air的开发环境,因为很久以前有一些flash开发的经验,所以就直接拿flash来做了。发现现在都用AS3.0了,从as1.0用到as2.0的表示非常的不习惯。然后发现这东西为什么要用flash来开发。。除了可以可视化的弄出些UI来就没有优势了,而且编辑器使用很不习惯。。目前用sublineText2敲as然后flash来调试,然后正在下载aptana中。。flex没有用过。
2.关于新浪微博的API数限制。由于要滚动显示,所以要有一种实时显示的效果(吐槽点都过去一分钟了才出来吐槽不给力啊),自然api调用率要比较高,每小时150次总上限的话,最多大概是30s一次,效果不佳,自己测试5秒一次效果较好,但是立马就到上限了。。
3.关于弹幕碰撞的算法,虽然网上有些文章,但是。。好像都不是很好实践的样子。。
4.可以窗口拉伸这个,发现透明窗口一拉伸内部的内容就形变了,不知有什么解决方案。

向各位请教的就是上面几个困难该如何解决。
自己也有一些思路,第二个问题我想是不是可以通过申请多个应用,然后轮流查询这样?(不过这样就会弹出很多次认证的窗口了。。或者用basic认证?)或者通过分析wap网页抓取信息(貌似工作量有些大啊。。)
现在最简单的版本是我把一个动态文本放到一个从左到右动mc里,然后通过复制mc并赋值的方法。当然是个很笨的办法,这样就不能控制滚动的速度之类的一些属性了。
16 回复  |  直到 2012-01-24 14:15:41 PM
    1
zythum   123 天前
朱一也对as不熟悉,但是没关系的。可以用html based。同样可以搞定

http://help.adobe.com/zh_CN/air/reference/html/
    2
tiantian20007   123 天前
盼盼果断flex吧,adobe对flex的产品定位才是给富媒体应用开发者用的。
话说xml+as写起来跟html+js完全是一个感觉。
    3
zythum   123 天前
@tiantian20007 感觉熊猫君的需求不需要用到flex.
    4
WarWithinMe   123 天前
还在纠结Flash的童靴。。。放弃吧。。。不值得在这上面耗费时间。。。
    5
zythum   123 天前
@WarWithinMe 您这句话,as开发者要哭了.
    6
bluef   123 天前
1. 用sublime编辑代码, 然后用命令行版本的编译器mxmlc来编译. mxmlc包含在flex sdk里.
4. 设置一下强制不缩放

[code]
stage.quality = StageQuality.HIGH;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
[/code]
    7
Hyperion   123 天前
抓取网页比较靠谱. 入口 -> http://weibo.cn/dpool/ttt/index.php

写了个脚本抓了10分钟, 没啥问题.
    8
WarWithinMe   123 天前
@zythum 其实我也是从某处看见别人这么说。。。不过真心觉得Flash要退休了。。。不过我觉得Flash做出来的东西体验不好。。Flex的就更加不好。。。AIR没看见好的。。。
    9
zythum   123 天前
其实flash现在还是主流,毕竟现在还是ie的年代。html5 api还不够纯熟。
air不一定要用as做,可以做html based。 mac用air风扇问题试因为用了flash.用html based基本没问题,记得上次doubanfm我测试放了一天没有什么动静。
    10
Hyperion   123 天前
@WarWithinMe lol的登录部分就是air写的。
    11
WarWithinMe   122 天前
@zythum 怎么说呢,首先在网页上用flash的话,总觉得很不舒服,因为那一块不是网页的,结果就是像右键手势之类的很别扭。。好久没用Flash不知道它的HTML based的具体是什么,不过既然用这个,倒不如去试试其他一些能用JS、HTML开发本地应用的一些framework,例如cappuccino(http://cappuccino.org/),貌似还有cross-platform的,不过现在硬是搜不出来。。缺点是还是需要些其他一些低级点的语言。。

@Hyperion 真心没看见过体验好的air程序。。印象中Adobe自己的Help程序都那么烂,所以觉得air很难有好的效果。。
    12
zythum   122 天前
@WarWithinMe HTML based是指的air。 可以用html开发air。
朱一没感觉自己做的foubanfm 效果差。
    13
panlilu   122 天前
html based的开发感觉非常好,感谢 @zythum 的帮助!
看了这个我觉得air还是蛮有前途的哈哈

不过看样子春晚前是不能弄出个不错的版本了= =等后年吧- -。
    14
WarWithinMe   122 天前
@zythum 没用豆瓣FM(也就没用过大萌神的这个),所以没有发言权。。做出好东西来还是能的。。但比较大一点的程序估计很能把效果弄好。。
    15
zythum   122 天前
@WarWithinMe 新年不吐槽这个了.仅从开发成本就可以说明问题。
    16
WarWithinMe   121 天前
@zythum lol。。。我错了。。。昨晚下了Crunch!下来用了一下,发觉HTML based的效果真的可以。。。Forgive me。
Linode
关于   |   FAQ   |   我们的愿景   |   广告投放   |   工作空间   |   Gadget Lab   |   博客   |   上网首页   |   286 人在线   最高记录 362
创意工作者们的社区
Lovingly made by OLIVIDA
VERSION: 3.0.0-dev
♥ Do have a faith in what you're doing.