一:
//定义步长
int lpitch16 = (int)(ddsd.lpitch >>1);
请教:
1:步长是什么东西啊?
2:步长有什么用?
3:ddsd.lpitch >>1 中的 1 是什么?
   为什么是 1 ,如果我写 2 ,可以吗?
   如果这样又什么不同呢?
二:
16 位增强色的两种格式:
5.5.5 和 5.6.5#define _GEB16BIT555(r,g,b)((b%32)+((g%32)<<5)+((r%32)<<10))
#define _GEB16BIT555(r,g,b)((b%32)+((g%64)<<6)+((r%32)<<11))各位大哥请帮我解释一下其中为什么要这样移位呢?
是根据什么来的?
谢谢!

解决方案 »

  1.   

    不知道你这是游戏中的步长吗?
    如果是的话.步长,大概应该是一个人物行走的大概长度.用来计算人物与物体距离.或者是在地图上的偏移.
    ddsd.lpitch >>1 
    是右移一位的意思.比如ddsd.lpitch>>1 ,那值就是2.
      

  2.   

    谢谢 ydfivy 大哥
    我的是游戏中的步长啊您说:“
    ddsd.lpitch >>1 
    是右移一位的意思.比如ddsd.lpitch>>1 ,那值就是2.
    ”为什么值是 2 啊
    这个值是不是说游戏的方向键向右按一下
    则所控制的人向 右 走 2 啊?谢谢!
      

  3.   

    哈哈.对不起.
    我忘了敲了一行字.
    ddsd.lpitch = 4;
    那么右移一位,就是2.
    右移相当于除2.
    左移相当于*2.
      

  4.   

    ydfivy 大哥
    为什么要加 
    ddsd.lpitch = 4;

    它是什么意思?
    谢谢!
      

  5.   

    唉~~~看来我说的太不清楚了.
    那是我举的例子.
    如果ddsd.lpitch = 4;那么结果为2.
    在程序中.它可能是任何它范围内的值.我主要是告诉你>>是什么意思.
      

  6.   

    ydfivy 大哥,谢谢
    这个东西是明白了ydfivy 大哥,
    定义这个步长有什么用啊?谢谢!