到现在还没能写出一个游戏, 开始心急了... 其实是开个玩笑:) 在下觉得, 写游戏最主要的不是技术, 而是耐性! 技术不会, 还可以找到别人的借用(像在下, 嘿嘿...), 但没有耐性, 就很难可以把一个游戏写完. 在游戏界, 惯常的说法是: 制作游戏的最后20%是占了整个过程的80%, 有些人甚至说是10% 与 90% 之比.iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
好了, 闲话少说, 进入主题 :) 在这篇, 新加了读入用家控制和把大图部份画到屏幕的功能, 还有就是简单的动画, 有了这些新功能, 大家基本上可以制作一个简单的游戏了 ;)iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
在psp上读入用家操控, 非常容易, 只要初始了控制器, 就可以直接读入相关资料:iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
SceCtrlData pad;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
...iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
sceCtrlSetSamplingCycle(0);iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
sceCtrlSetSamplingMode(PSP_CTRL_MODE_ANALOG);iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
...iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
sceCtrlReadBufferPositive(&pad, 1); // read control padiPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
我们在这里用pad 存着控制器的相关数据, pad.Lx 和 pad.Ly 分别是模拟控制的x, y 值, 观察所得, 它们的数值是0-255, 我们把它当joystick 来用, 再配合Plot, 就可以弄个简单的"小画家", 看附图:iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
不过大家不要误会, 用PSP的模拟控制只可画出那些乱七八糟的线, 那只可爱的老鼠, 不是在PSP上画出来的, 是我的好友Anjou兄的大作, 在此先要跟他说声多谢! (Anjou的Blog)iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
int x = SCREEN_WIDTH/2;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
int y = SCREEN_HEIGHT/2;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
...iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
// pad.Lx 和 pad.Ly 的数值是 0-255iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
// 但我们只想要知道它是向左右, 还是上下iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
if (pad.Lx<64)iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
{iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
if (x>0) x--;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
}iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
else if (pad.Lx>196)iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
{iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
if (x<SCREEN_WIDTH-1)iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
x++;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
}iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
if (pad.Ly<64)iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
{iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
if (y>0) y--;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
}iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
else if (pad.Ly>196)iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
{iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
if (y<SCREEN_HEIGHT-1)iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
y++;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
}iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
// 画点iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
Plot(x, y, colors[currentColor]);iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
至于pad.Buttons 则是所有按钮的bit mask, Buttons 里每一个位, 代表了一个按钮, 当对应的位是1, 即表示该按钮被按下了, 0 则相反.iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
所以例如这句: "if (pad.Buttons&PSP_CTRL_TRIANGLE)" 就是测试三角按钮有没有被按下.iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
注意: 本文程序, 用三角按钮转换画点的颜色, 用圆按钮截图到记忆棒的根目录!iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
至于新加的函数DrawImageRect(), 把大图部份画到屏幕, 功能主要是用作动画. 一个游戏要是没有动画是很单调的, 所以我们要赶快加入这个功能:) 看下面的截图:iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
对于动画, 我们可以把动画的每一格图分开存为一个个的档案, 但制作游戏惯常的做法, 是把同一个动画甚至几个动画的图都放在同一个档内, 如下图:iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
这样, 我们就要从大图中, 选出需要的部份, 画到屏幕, 根据时间, 画不同的分格, 达到动画的效果!iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
int frame = 0;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
int timer = 0;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
...iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
int xMan = 10; // 老鼠的初始位置iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
int yMan = 100;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
bool mirrored = false; // 向左就不用反转画iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
...iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
...iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
while (!done)iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
{iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
int timeNow = Sys_Milliseconds();iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
int delta = timeNow-lastTime; // 计算自从上次行经这里到现在, iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
lastTime = timeNow; // 过了多少时间iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
timer += delta;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
if (timer>100) // 每0.1秒换到下一格动画iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
{iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
timer = 0;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
frame++;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
if (frame>=3)iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
frame = 0;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
}iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
...iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
}iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
// 把现在的动画格画到屏幕iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
DrawImageRect(rat, xMan, yMan, frame*100, 0, 100, 100, mirrored);iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
在这个函数中, 我也顺便加了把图像左右对调画的功能, 这样子, 一个游戏的角色, 就算有向左走同向右走的动画, 只要有一边的图, 另一边可以用函数对调画出, 很是方便:iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
大家用PSP的左右按钮, 可以控制老鼠左右移动!iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
附带的执行包是1.50的 :) 自行编译, 要把rat.png放在记忆棒game02的目录内!
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
好了, 闲话少说, 进入主题 :) 在这篇, 新加了读入用家控制和把大图部份画到屏幕的功能, 还有就是简单的动画, 有了这些新功能, 大家基本上可以制作一个简单的游戏了 ;)iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
在psp上读入用家操控, 非常容易, 只要初始了控制器, 就可以直接读入相关资料:iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
SceCtrlData pad;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
...iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
sceCtrlSetSamplingCycle(0);iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
sceCtrlSetSamplingMode(PSP_CTRL_MODE_ANALOG);iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
...iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
sceCtrlReadBufferPositive(&pad, 1); // read control padiPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
我们在这里用pad 存着控制器的相关数据, pad.Lx 和 pad.Ly 分别是模拟控制的x, y 值, 观察所得, 它们的数值是0-255, 我们把它当joystick 来用, 再配合Plot, 就可以弄个简单的"小画家", 看附图:iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空YiPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
不过大家不要误会, 用PSP的模拟控制只可画出那些乱七八糟的线, 那只可爱的老鼠, 不是在PSP上画出来的, 是我的好友Anjou兄的大作, 在此先要跟他说声多谢! (Anjou的Blog)iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
int x = SCREEN_WIDTH/2;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
int y = SCREEN_HEIGHT/2;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
...iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
// pad.Lx 和 pad.Ly 的数值是 0-255iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
// 但我们只想要知道它是向左右, 还是上下iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
if (pad.Lx<64)iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
{iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
if (x>0) x--;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
}iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
else if (pad.Lx>196)iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
{iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
if (x<SCREEN_WIDTH-1)iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
x++;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
}iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
if (pad.Ly<64)iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
{iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
if (y>0) y--;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
}iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
else if (pad.Ly>196)iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
{iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
if (y<SCREEN_HEIGHT-1)iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
y++;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
}iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
// 画点iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
Plot(x, y, colors[currentColor]);iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
至于pad.Buttons 则是所有按钮的bit mask, Buttons 里每一个位, 代表了一个按钮, 当对应的位是1, 即表示该按钮被按下了, 0 则相反.iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
所以例如这句: "if (pad.Buttons&PSP_CTRL_TRIANGLE)" 就是测试三角按钮有没有被按下.iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
注意: 本文程序, 用三角按钮转换画点的颜色, 用圆按钮截图到记忆棒的根目录!iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
至于新加的函数DrawImageRect(), 把大图部份画到屏幕, 功能主要是用作动画. 一个游戏要是没有动画是很单调的, 所以我们要赶快加入这个功能:) 看下面的截图:iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空YiPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
对于动画, 我们可以把动画的每一格图分开存为一个个的档案, 但制作游戏惯常的做法, 是把同一个动画甚至几个动画的图都放在同一个档内, 如下图:iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空YiPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
这样, 我们就要从大图中, 选出需要的部份, 画到屏幕, 根据时间, 画不同的分格, 达到动画的效果!iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
int frame = 0;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
int timer = 0;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
...iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
int xMan = 10; // 老鼠的初始位置iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
int yMan = 100;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
bool mirrored = false; // 向左就不用反转画iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
...iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
...iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
while (!done)iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
{iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
int timeNow = Sys_Milliseconds();iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
int delta = timeNow-lastTime; // 计算自从上次行经这里到现在, iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
lastTime = timeNow; // 过了多少时间iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
timer += delta;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
if (timer>100) // 每0.1秒换到下一格动画iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
{iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
timer = 0;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
frame++;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
if (frame>=3)iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
frame = 0;iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
}iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
...iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
}iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
// 把现在的动画格画到屏幕iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
DrawImageRect(rat, xMan, yMan, frame*100, 0, 100, 100, mirrored);iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
在这个函数中, 我也顺便加了把图像左右对调画的功能, 这样子, 一个游戏的角色, 就算有向左走同向右走的动画, 只要有一边的图, 另一边可以用函数对调画出, 很是方便:iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空YiPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
大家用PSP的左右按钮, 可以控制老鼠左右移动!iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
iPVnek'l9{3/vHER`D:0}@ZK\b&本文来自:V电G玩S天K空Y
附带的执行包是1.50的 :) 自行编译, 要把rat.png放在记忆棒game02的目录内!
- 本文分页:
- 附件下载:
- 本文关键字:学习,PSP游戏制作,实况记录,用家操控,动画
- 上一篇: ♦ 对初学游戏编程的朋友有用的东西 2007/10/6
- 下一篇: ♦ 用cygwin安装libpng的方法 2007/10/6


