?? move.c
字號:
#include <GsGBA.h>
#include "data.h"
#include "move.h"
//這些是比較難的部分,是描述一個物體的直線移動
//看不明白也沒關系,想深入了解的話,請參考計算機圖形學中的直線繪制算法
//設置開始移動的位置和移動的目標
void MB_StartMove(MOVEBLOCK *p,int sx,int sy,int dx,int dy)
{
p->x1=sx;
p->y1=sy;
p->x2=dx;
p->y2=dy;
p->delta_x = p->x2-p->x1;
p->delta_y = p->y2-p->y1;
if(p->delta_x > 0)
p->incx = 1;
else if(p->delta_x == 0)
p->incx = 0;
else
{
p->delta_x = -p->delta_x;
p->incx = -1;
}
if(p->delta_y > 0)
p->incy = 1;
else if(p->delta_y == 0)
p->incy = 0;
else
{
p->delta_y = -p->delta_y;
p->incy = -1;
}
if(p->delta_x > p->delta_y)
p->distance = p->delta_x;
else
p->distance = p->delta_y;
}
void MB_Move(MOVEBLOCK *p) //角色的一次移動
{
p->ln_x=p->x1;
p->ln_y=p->y1;
p->x +=p->delta_x;
p->y +=p->delta_y;
if(p->x > p->distance)
{
p->x -= p->distance;
p->x1 += p->incx;
}
if(p->y > p->distance)
{
p->y -= p->distance;
p->y1 += p->incy;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -