About

<#TEMPLATE_INCLUDE_NINEPAGE_ABOUTME#>
  • Apr

    28

    这是《iOS APP 启动画面 / 闪屏 PS 尺寸图批量生成脚本》的升级版本,因为它不仅仅只是建立尺寸和命名闪屏图像的文件名,它还能自动按闪屏的尺寸建立图标(也会按闪屏的不同方向自动旋转图标),并自动保存所有图像

    点击查看详情

    More...

    Apr

    27

    iOS 系统中绘图性能比较

    • 0 Comments
    • Miscellaneous

    Apr

    27

    对 Nape 对象受到冲量后限速

    • 0 Comments
    • Flash Platform

    以小球刚体为例,受到一个极大的冲量,向上飞起,可能就需要过个十几二十秒后才掉落下来,回到屏幕,这往往不是我们想要的效果。

    //判断是否向上运动
    if(smallBall.velocity.y < 0)
    {
        //判断它的速率合成后是否大于100
        if(smallBall.velocity.length > 100)
        {
            smallBall.velocity.x /= 1.05;
            smallBall.velocity.y /= 1.05
        }
    }

    Apr

    26

    比如用鼠标拖动一个小球之后,因为惯性等物理属性,小球并不会立刻停止,如果想让它立刻停止可以这么写:

    //一般一个刚体都会深到重力作用,所以在综合力上加一个与重力相反的力
    ball.force.set(space.gravity.mul(- ball.gravMass,true));

    ball.position.setxy(xxxxx, yyyyyy);//设置刚体的坐标
    ball.rotation = 0;//重置角度
    ball.angularVel = 0;//重置旋转
    ball.velocity = new Vec2(0, 0);//将速度设为0

    Apr

    26

    计算机的术语翻译过来后总是会让人觉的很蹩脚,要找个合适的中文词其实还真不容易。 最近看 Nape 的资料,用白话文来解释一下这个 step() 方法的三个参数,因为觉的网上的说明翻译过来好像都有些问题。
     
    首先,Flash 影片和其它的影片没有什么不同,都是连续的帧画面模似运行的(动态的)一个过程,但帧与帧之间会有时间间隔,这个做过 Flash 开发的应该没有什么疑问。
     
    那么先来说说 step() 方法里面的后面两个参数 velocityIterations 与 positionIterations,它们的字面意思分别是“速度迭代次数”与“位置迭代次数”。它表示在同一时间,对于物体与物体相撞时会产生速度与位置的变化的计算,如果仅仅只是两个物体之间的碰撞就很简单,但如果有第三个、第四个物体同时碰撞,那么它们之间都会有相互影响,会影响到前两个物体的速度与位置的变化,所以需要多次计算这个结果(迭代计算),让它的速度与位置变的更加精确。所以这两个参数实际上是会影响整体运行的性能,值设的越大,越精确,但同时也会越占 CPU,所以官方推荐值是10 就可以了,没必要设的很大。
     
    接着再说第一个参数:deltatime,这个参数比较有意思,粗一看字面意思是“时间增量”,但它实际上完全不是这个概念,它正确的意思是“每次被迭代时的增量”,这个值越大,每次迭代计算时的增量越大,值越小,增量就越小,这个参数值的大小实际上不会影响整体运行的性能(它对性能的影响是微乎其微的)。
     
    对于这第一个参数 deltatime 可以用一个很简单的 Demo 验证一下,创建一个重力参数为 new Vec2(0,600) 的 Space ,然后将舞台的 frameRate 设为 1(每秒只播放一个画面),然后创建一个小球将坐标放在舞台的最中间上面,让它做自由落体运动。如果这个参数值分别设为 1/120, 1/90, 1/60, 1/30,1/10,1,会发现这个值越靠近1,值越大,它的每一次跌代计算后的增量会越大,1 的时候增量就是瞬间完成,而值越小的时候它每一步增量越小。所以不要从字面去理解这个参数,它不是时间增量的概念,不是指多少时间或多少毫秒后进行一次跌代计算,而是指每一次进行迭代计算时增量的大小(它更类似于一个增量系数,影响增量的相对大小)。

    Apr

    23

    Apr

    21

    这个脚本可以分割像素(连续的)到单独的图层。对类似 Bitmap Font Generator 生成后的字体对单个字符进行样式设计时很有用。

    下载地址:SplitToLayers1_0.zip

    Apr

    21

    交通银行登录代码提示:PEBS0004SY0075,未注册或密码错误。

    它的提示功能很不友善,其实不是因为卡号和密码错误,既便重置密码,清空缓存,哪怕换一只电脑,它仍然会同样提示。而是因为给卡号使用了“用户名”功能,当使用用户名功能之后,卡号的登录功能会被屏蔽掉。但它的登录框中明明写着卡号,身份证,用户名都可以,这实在太囧(泰囧啊~)了。

    而且很多页面中的卡号居然是无法用复制粘贴功能的,需要用户自己一边又一边的手动输入,而有时候点击确定之后,它并不会真正的连接确定的页面,而是刷新整个页面但不保留任何已有输入,然后让用户全部都重新手动输入一边。

    真不知道交通银行的网站开发人员都在想什么呢。

    Apr

    21

    这些坑集只是本人在使用时遇到的,不代表全部

    1、实例命名时不要包含字符串“instance”,否则就无法通过 getChildByName() 去获取对象。

    2、MC 在导出时时间轴上的声音是不支持的(至少现在的版本不支持)。

    3、如果调用同一个 MC 连续调用两次 gotoAndStop ,第一次如果传入 stopChild 参数都为 true ,那么第二次的参数改为 false 也不会自动播放子影片的,需要调用子影片的 play() 方法。

    4、MC 对象需要先 gotoAndStop(0),否则有可能读不到它的宽、高值(因为默认它的播放头在 -1 的位置)。

    5、MC 对象时间轴上创建的所有可视化元素会在播放头进入下一帧时还原,并不会因为动态的 AS 修改后一直保持修改后的效果。

    6、MC 嵌套 MC 的时候,如果子 MC 对象没有被播放,在 play() 方法第一个参数中传入true,或gotoAndPlay() 方法第二个参数中传入 true。

    More...

    Apr

    19