天山派的功夫要内功到一定程度之后才能学习以及as3和js的不同
javascript拖放
js的拖放感觉非常繁琐,远比as3.0麻烦的多。
as3.0中的sprite等是单独的对象,本身支持拖拽方法。添加事件然后拖拽是非常简单的事情。
在js中为绘制的对象添加事件侦听是一件非常复杂的事情。代码量非常巨大需要封装。as3.0的显示列表在处理对象上感觉要优于js。但是可以js中的代码进行封装实现类似as3.0的功能。
js操作的是dom模型,而as3.0操作的是显示对象,显示对象可以非常方便的通过as3.0代码以面向对象的方式创建,而js中相对繁琐的多。
js在canvas进行动画绘制的时候,功能要弱一些。
as3的3d
as3实现了面向对象
功能强大,很多webgame都是as3开发的。
基于as3的3d开源库
如paperversion3d,away3d,starling3d等框架非常多,adobe官方也有相应的图形引擎,加速2d和3d内容创建
js的3d
js有一个tree.js用于在浏览器渲染3d模型
js的优势
js最近简直要逆天了,从node.js到react.js感觉js都快成为无所不能的全栈语言了。相比较于as3,对于浏览器的兼容性更好,用户的学习成本更低。学习js,可以开发跨平台跨终端的web,app等应用。
相比较于as3,js和html5的亲和度更高。当然二者的方向毕竟不同,as3.0天生就是为创建多媒体内容而生,而js是为了制作动态网页,网页虽然也含有动态内容和但是和flash用户的需求相比,毕竟弱了一筹。
当然没有最强大的语言,只要有想法,肯用功,js也可以做出比as3惊艳的内容和效果。
fla之于as3和html之于js
有时候感觉fla与as3的关系与html和js的关系类似。as3可以做fla的文档类存在,而html也是,然后我们把所有的功能和逻辑都写到as3之中。只不过fla中创建动态动画效果要比html强大的多,html可视化的设计工具相比于flash功能还是弱。
下一步
研究js的cocos2d-js等框架。js制作用户界面。
当然jQuery等对js进行封装,在动画绘制,ui组件等功能上加强了许多,但是as3实现了面向对象js木有,感觉这方面弱一些。文档感觉也少一些。
当然自己对于js的高级技术开源库并不是很了解,所以上面的见解也许是井底之蛙吧。
反思
自己接触编程从大一到现在工作的第五个年头,想来也有10年了,10年来我的能力还是停留在初学者水平,这不得不让我深刻反思我的学习方式。中间也有很多机会做一些大项目,自己最后都不了了之了。而自己平时泡图书馆虽然看了很多书,但是都跑马观花,看过而已,殊不知编程不是文学,不是说看过就可以的。而是要真正的动手实践,编程包括理论和动手能力,看得再多,不动手也很难真正的掌握。所以我现在痛改前非,认真的做项目,希望通过项目提高自己的动手能力;同时认真看书,系统的学习,踏踏实实的撸代码。2007年大学入学,现在是2016年4月21日,好漫长的时间啊。不得不感慨时光飞逝,Times fly。
自己虽然不是计算机专业科班出身,但是大学也开设了c语言、数据库设计,html网页设计以及Asp.net程序设计,网络技术等计算机相关专业课程,可是当时大多都是草草了事,大学时光没有深刻的认真学习,也就不曾掌握。出于“爱好和兴趣”,自己选修了计算机第二学历,获得了计算机应用本科学位,虽然学习了汇编,c语言,数据结构与算法等课程,现在真的都忘光了,每次拿起课本,都是从头学习,不曾真正的掌握。现在想想是自己太急躁了,总想一蹴而就,却不肯老老实实,一步一个脚印的学习,看了再多的书籍,了解再多的框架和前沿技术,对于根基不扎实的我来说,不过是浪费时间罢了,就像《天龙八部》里灵鹫宫的功夫,对于内功不到的人来说,学习了反受其害。框架的使用使自己失去对于基础的感知。现在回想起来,对于php自己虽然一直使用thinkphp框架,但是很少阅读源代码(只要阅读源代码就有收货),即便阅读的时候,很多php的基础函数根本不清楚,不知道有什么功能,更不用说php底层的东西了。
总想着学习单元测试,但是觉得很麻烦,到现在都不曾写过一行的测试语句,至于功能测试就更加遥远了。
对于mysql也是,能百度就百度,不曾认真学习,数据库也设计的一团糟,借助于框架提供更多orm功能,更加不重视mysql语句的学习,不熟悉基础的结果是,自己对于子查询,join查询等几乎一窍不通,原本一句sql语句实现的,却要用大量的垃圾orm代码实现。想来也是醉了。所以现在引以为戒。
从大二开始就想着做自己的游戏,到现在游戏的影子还没有,总是想法太多,落实的少,没有计划性。谁都不缺少宏伟的想法和计划,可是真正实现的只有那些肯闷头努力的人。谁不不够就不要好为人师,觉得自己多牛逼,有时间吹牛,不如多写几行代码,赚点钱补贴家用罢了。