Zend Framework是个好东西!!!
九 16, 2009 FLASH/FLEX开发, 网页设计
今天详细研究了下ZendAMF,才知道Zend Framework不仅仅是ZendAMF这么简单,Zend Framework里面包含了一大包相对独立的组件,ZendAMF只是其中一个。
Zend Framework里面的组件真是五花八门,可以独立使用,也可以相互配合使用,这样就形成了这样一个强大的,并且是可以扩展的开发框架,这可能就是Zend相搞出来的一个公司,和Adobe的合作可能只是其中的一个推广手段。
不要用Flash Builder自带的生成程序了,打开网址:http://framework.zend.com/点上面的那个大大的DownLoad按钮,可以下到最近的版本,现在的版本是1.9,下载“Zend Framework 1.9.2 Full.zip”文件,里面不仅仅包括框架源码,还包括文档(居然还有部分内容是中文的),开发范例什么的。
真是好东西啊,吃透了这个东西,php水平绝对可以大提升。
ZendAMF起步
九 15, 2009 FLASH/FLEX开发
最近因为看到FlashBuilder对ZendAMF支持得比较好,特地研究了一下。发现这个东东做起东东真是太方便了。
这个东东好处很多,其一:
可以在Flash和PHP间直接传递Object,省却了组织报文的麻烦,省却了接口定义的麻烦,省却了POST、GET等麻烦事。
其二:
提供了一个简单易懂的开发框架,基本上只要写些简单的类就能实现大段大段的功能了。
其三:
Flash里要调用服务器的方法简单方便,基本上只要Call一下就OK了。
FlashBuilder里使用ZendAMF起步很简单,在创建项目时,把“使用的服务器技术”的PHP项选上,程序会自动创建ZendAMF的环境,并且把gateway(ZendAMF的入口文件)都创建好了,还顺便创建了一个Service示例,里面有一些示例代码,一些基本功能的示例,基本上一看就懂。
我在服务器端的代码是这样安排的:
Zend目录:ZendAMF的框架代码
Service目录:服务类所在的目录
inc目录:存放一些服务器端的工具类,以及配置变量
gateway.php:ZendAMF的入口文件
涉及到操作数据库的服务类,可以做一个基类,把对数据库的增删改查操作一些封装,或引用,或组合,都可以。只要结构上清晰就成。
将来在应用中需要配置的一些常量,可以放一个配置文件中,这和做网站是一样的。我是写了一个config.php,里面内容是这样写的:
<?php //数据库配置字段 define('DB_HOSTNAME','localhost'); define('DB_USER','root'); define('DB_PASSWORD',''); define('DB_DBNAME','mydb'); define('TB_PREFIX','aping_'); ?>
FLASH中弹窗口不被拦的方法
九 11, 2009 FLASH/FLEX开发, 网页设计
在flash中弹出新窗口,被拦,今天又遇到了。
在Flash中直接用navigateToURL();肯定是不行的,一定会被拦掉。
调JS的Window.open()也是不行的。
正确的方法是用JS模拟一个表单,把表单的target设为_blank.是可以成功,经过多种浏览器的试验,均可行。
在网页中放置JS代码
<script type="text/javascript"> function OpenNewWin(url) { var frm=document.createElement("form"); frm.method="POST"; frm.target="_blank"; frm.action=url; document.body.appendChild(frm); frm.submit(); } </script>
在FLASH中调JS:ExternalInterface.call(“OpenNewWin”,”网址”);
即可。
如果出现JS错误,查一下Flash所在Object的ID有没有设。
利用SampleDataEvent模拟出的8位机音乐源码示例
九 11, 2009 FLASH/FLEX开发, 资源下载
最近在国外的一个网站上看到一个示例,只有2K大小的一个swf文件播放出了长达十分钟左右的游戏音乐。很是惊讶。于是仔细研究了下源码,发现是用的fp10中的新功能。在fp10新的API中有个SampleDataEvent的类,结合Sound对象可以播放出动态的音乐。
比如下面这段代码就可以播放出简单的正弦波。在FLEX SDK3.2以上版本,或者Flash CS4中可以测试。
var mySound:Sound = new Sound(); function sineWaveGenerator(event:SampleDataEvent):void { for ( var c:int=0; c<8192; c++ ) { event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25); event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25); } } mySound.addEventListener(SampleDataEvent.SAMPLE_DATA,sineWaveGenerator); mySound.play();
Adobe官方中文手册中关于这个类的介绍:
http://livedocs.adobe.com/flex/3_cn/langref/flash/events/SampleDataEvent.html
下面的是这个牛B的8位机音乐源码:8位机音乐源码下载
CubicVR,一个360度虚拟实景引擎,源码
九 7, 2009 FLASH/FLEX开发
最近看了那个蒙牛的360度实景网站,很受启发,于是到网上找找相关的资料,有人提供了这个网址。当然看了下,这也是种用六面模拟全景的,有失真的情况。没蒙牛那个用昂贵的实景摄像头拍出来的全景视频、全景照片效果好。
但是用十二张平面照片搞成这样,确实很不容易了。
源文下载件及效果查看地址:http://lab.andre-michelle.com/cubicvr
我在想如何生成这十二张照片,好像是个像绣花那样的细活哦~~