V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
panlilu
V2EX  ›  问与答

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

  •  
  •   panlilu · 2012-01-21 21:55:02 +08:00 · 4907 次点击
    这是一个创建于 4693 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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 条回复    1970-01-01 08:00:00 +08:00
    zythum
        1
    zythum  
       2012-01-21 22:06:43 +08:00
    朱一也对as不熟悉,但是没关系的。可以用html based。同样可以搞定

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

    [code]
    stage.quality = StageQuality.HIGH;
    stage.scaleMode = StageScaleMode.NO_SCALE;
    stage.align = StageAlign.TOP_LEFT;
    [/code]
    Hyperion
        7
    Hyperion  
       2012-01-22 01:23:38 +08:00
    抓取网页比较靠谱. 入口 -> http://weibo.cn/dpool/ttt/index.php

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

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

    不过看样子春晚前是不能弄出个不错的版本了= =等后年吧- -。
    WarWithinMe
        14
    WarWithinMe  
       2012-01-22 22:06:01 +08:00
    @zythum 没用豆瓣FM(也就没用过大萌神的这个),所以没有发言权。。做出好东西来还是能的。。但比较大一点的程序估计很能把效果弄好。。
    zythum
        15
    zythum  
       2012-01-22 22:17:48 +08:00
    @WarWithinMe 新年不吐槽这个了.仅从开发成本就可以说明问题。
    WarWithinMe
        16
    WarWithinMe  
       2012-01-23 14:15:41 +08:00
    @zythum lol。。。我错了。。。昨晚下了Crunch!下来用了一下,发觉HTML based的效果真的可以。。。Forgive me。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2453 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:00 · PVG 00:00 · LAX 08:00 · JFK 11:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.