月度存档: 8 月 2013

PHP框架 Yii framework 用yiic命令时提示“php.exe”不是内部或外部命令

原因是 Yii 自带的yiic.bat 找不到php.exe.
解决方法: 用notepad++打开yii/framework/yiic.bat,修改
if “%PHP_COMMAND%” == “” set PHP_COMMAND=php.exe
→→→ if “%PHP_COMMAND%” == “” set PHP_COMMAND=D:\wamp\php\php.exe

我的就是修改为
if “%PHP_COMMAND%” == “” set PHP_COMMAND=C:\wamp\bin\php\php5.4.3\php.exe

phpstorm快捷键说明

alt+f7查看有哪些地方用到了这个变量名或者函数名或者类名
ctrl+shift+n 输入要打开的文件名,会有自动提示
ctrl+q快速查看函数对应文档
ctrl+b或者ctrl+mouse 快速跳到函数声明
ctrl+f12 快速浏览当前类结构
shift+f6文件重命名
alt+f1快速选择当前编辑文档
f12聚焦到当前文档
ctrl+alt+v 生成缩短变量名
ctrl+d复制当前块
ctrl+p函数参数提示
ctrl+shift+Backspace(退格)查看历史改动
f3从上往下查询
shift+f3从下往上查询
http://www.chenxuanyi.cn/xampp-phpstorm-xdebug.html

Cocos2dx导人flash动画

若你的.fla源文件中不带有骨骼动画,则你可以使用TexturePacker结合AnimatePacker来解决这个问题。
1.把.swf文件直接丢到TexturePacker中,它会自动帮你解析出所有的帧,并导出为.plist文件,它附带一张.png图
2.把.plist文件丢到AnimatePacker中,它也会自动帮你解析出所有的帧,然后根据需要,制作动画。
AnimatePacker使用方法:
1.拖动plist文件到AnimatePacker窗口
2.点击摄像机,生成新的Animation,在Animations框中编辑Name和Delay
3.从Sprites里拖动Sprite到SpriteFrames,拖动SpriteFrame可排序
[code]
AnimatePacker::getInstance()->loadAnimations(“Images/People/grossini_dance.xml”);
CCSprite *sprite=CCSprite::create(“Images/People/grossini_dance_01.png”);
sprite->setAnchorPoint(CCPointZero);
sprite->setPosition(ccp(size.width/2, size.height/2));
this->addChild(sprite,1);
sprite->runAction(CCRepeatForever::create(AnimatePacker::getInstance()->getAnimate(“grossini_1”)));
[/code]

从as3到c++

最近发现flash游戏开发的大神都开始学c++了,跟进跟进,顺便把以前做的flash游戏统统移植到手机上,这算一个开篇吧,希望我能坚持

c++学习资料汇总

Flash常用快捷键

v选择
qf任意变形
n线条
mz缩放
ctrl+f8 新建元件
f8 转换为元件
f5 帧
f6 转换为关键帧
shift+f6 清除关键帧
f7 转换为空白关键帧
ctrl+alt+shift+c 优化
ctrl+alt+s 缩放和旋转

As3代码动画引用

[code]
import fl.motion.Animator;
import fl.motion.MotionEvent;
//flash cc生成
var ax1:XML =










//引用循环播放
var city_animator:Animator = new Animator(ax1,ctmc);
city_animator.play();
city_animator.addEventListener(MotionEvent.MOTION_END,afterMotion);
function afterMotion(e:MotionEvent) {
city_animator.play();
}
[/code]

关于加载flash的时候页面背景会闪下黑色问题解决方案

将原先的direct wmode改成opaque即可
[code]




test





[/code]

Html5控制audio

只能做一些简单的控制,和flash比就是弱爆了,嗯
[code]

[/code]

js控制video

api简直就是抄袭的as3嘛
[code]




html5_video







[/code]
[code]
/**
* …video
* @author amyflash.com
*/
var vid;
function init()
{
vid = document.getElementById(“vid”);
}

function pauseToggle()
{
if(vid.paused)
{
vid.play();
}else
{
vid.pause();
}
}

function clicked(){
vid.currentTime+=2;
}

[/code]

as3对象数组排序

示例
下面的示例创建一个新数组,并且按照 name 字段和 city 字段对该新数组进行排序。第一次排序使用 name 作为第一个排序值,使用 city 作为第二个排序值。第二次排序使用 city 作为第一个排序值,使用 name 作为第二个排序值。


var rec_array:Array = new Array(); rec_array.push({name: "john", city: "omaha", zip: 68144}); rec_array.push({name: "john", city: "kansas city", zip: 72345}); rec_array.push({name: "bob", city: "omaha", zip: 94010}); for(i=0; i<rec_array.length; i++){ trace(rec_array[i].name + ", " + rec_array[i].city); } // Results: // john, omaha // john, kansas city // bob, omaha rec_array.sortOn(["name", "city"]); for(i=0; i<rec_array.length; i++){ trace(rec_array[i].name + ", " + rec_array[i].city); } // Results: // bob, omaha // john, kansas city // john, omaha rec_array.sortOn(["city", "name" ]); for(i=0; i<rec_array.length; i++){ trace(rec_array[i].name + ", " + rec_array[i].city); } // Results: // john, kansas city // bob, omaha // john, omaha

下面的对象数组由说明如何使用 options 参数的后续示例使用:

var my_array:Array = new Array();
my_array.push({password: "Bob", age:29});
my_array.push({password: "abcd", age:3});
my_array.push({password: "barb", age:35});
my_array.push({password: "catchy", age:4});

对 password 字段执行默认排序将产生以下结果:

my_array.sortOn("password");
// Bob
// abcd
// barb
// catchy

对 password 字段执行不区分大小写的排序将产生以下结果:

my_array.sortOn("password", Array.CASEINSENSITIVE);
// abcd
// barb
// Bob
// catchy

对 password 字段执行不区分大小写的降序排序将产生以下结果:

my_array.sortOn("password", Array.CASEINSENSITIVE | Array.DESCENDING);
// catchy
// Bob
// barb
// abcd

对 age 字段执行默认排序将产生以下结果:

my_array.sortOn("age");
// 29
// 3
// 35
// 4

对 age 字段执行数值排序将产生以下结果:

my_array.sortOn("age", Array.NUMERIC);
// my_array[0].age = 3
// my_array[1].age = 4
// my_array[2].age = 29
// my_array[3].age = 35

对 age 字段执行降序数值排序将产生以下结果:

my_array.sortOn("age", Array.DESCENDING | Array.NUMERIC);
// my_array[0].age = 35
// my_array[1].age = 29
// my_array[2].age = 4
// my_array[3].age = 3

在使用 Array.RETURNEDINDEXARRAY 排序选项时,您必须将返回值分配给不同的数组。原始数组不会被修改。

var indexArray:Array = my_array.sortOn("age", Array.RETURNINDEXEDARRAY);