WEB开发网
开发学院软件开发C语言 C#开发WPF/Silverlight动画及游戏系列教程(Game C... 阅读

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(十二)神奇的副本地图

 2009-06-22 07:08:39 来源:WEB开发网   
核心提示: 精华又出现啦,来看看优美的拾色方法://图片拾色 private Color pickColor(BitmapSource bitmapsource, int x, int y) { CroppedBitmap crop = new CroppedBitmap(bitmapsource

  精华又出现啦,来看看优美的拾色方法:

        //图片拾色
        private Color pickColor(BitmapSource bitmapsource, int x, int y) {
            CroppedBitmap crop = new CroppedBitmap(bitmapsource as BitmapSource, new Int32Rect(x, y, 1, 1));
            byte[] pixels = new byte[4];
            try {
                crop.CopyPixels(pixels, 4, 0);
                crop = null;
            } catch (Exception ee) {
                MessageBox.Show(ee.ToString());
            }
            //蓝pixels[0] 绿pixels[1]  红pixels[2] 透明度pixels[3]
            return Color.FromArgb(pixels[3], pixels[2], pixels[1], pixels[0]);
        }

    太强大了,有了它就好比吕布拿上方天画戟-游刃有余!(该方法只能在WPF使用,至于如何在Silverlight中调用,Silverlight3.0将会给您一个完美的解决方案。^_^)

副本地图的作用是非常凶猛的,在它上面我们可以自由绘画出红黄蓝绿青橙紫等等N多颜色来描绘不同的地图属性,然后实现类似以下操作:

1、如果主角采到的点是黑色就相当于主角碰到了障碍物,这时主角的动作即为停止。

2、如果是传送点,则根据坐标范围(或其他条件等)判断是传送到哪张地图;

3、如果是陷阱则将触发什么事件,如去血或被传送,或是刷怪等等;

4、当然还可以有其他颜色,假如游戏中有飞行坐骑等元素存在(实现2D地图中的三维空间),那么同样可以用一个例如蓝色来代表空中障碍物区域,或用紫色来代表陆地和空中均属的障碍物,这些都是相当灵活的。

上一页  1 2 3 4 5 6  下一页

Tags:开发 WPF Silverlight

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接