XNA C# 得到球内随机一点

经过总结,在立方体中取随机点再剔除是最快的方法,所以,找到球内的随机一点,只需如此如此:
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;

经过总结,在立方体中取随机点再剔除是最快的方法,所以,找到球内的随机一点,只需如此如此:

using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;

namespace GameHelpers
{
    public class GameHelper
    {
        public static Random Random = new Random();
        public static float RandomNext(float min, float max)
        {
            return (min + (float)((max - min) * Random.NextDouble()));
        }
        /// <summary>
        /// 得到球状区域内的随机一点
        /// </summary>
        /// <param name="center">球心</param>
        /// <param name="radius">半径</param>
        /// <returns>结果</returns>
        public static Vector3 RandomPointInBall(Vector3 center, float radius)
        {
            Vector3 a;
            do
            {
                a = new Vector3(RandomNext(-radius, radius), RandomNext(-radius, radius), RandomNext(-radius, radius));

            } while (Vector3.Distance(a, Vector3.Zero) > radius);//直到随机出的点在球内..
            return a + center;
        }
}

XNA 使用XML读取自定义类型

最近很忙,仍然在赶工Art of Destiny

OK,根据大地无敌的心得,大地无敌就来介绍如何在XNA中使用内容管道读取XML自定义类型数据了
就让大地无敌来做一个示例解决方案来讲解吧!
大地无敌要使用XML文件来记录一种游戏内的角色(比如一位主角、一种相同的会出现多次的敌人之类的)

 

最近很忙,仍然在赶工Art of Destiny

OK,根据大地无敌的心得,大地无敌就来介绍如何在XNA中使用内容管道读取XML自定义类型数据了
就让大地无敌来做一个示例解决方案来讲解吧!
大地无敌要使用XML文件来记录一种游戏内的角色(比如一位主角、一种相同的会出现多次的敌人之类的)

 

1、新建一个Game主程序项目,名字就叫LandGame好了。

2、新建一个Library项目如图,叫做LandLibrary,在主程序和主程序的Content下都添加对LandLibrary的引用

3、在LandLibrary下新建一个类叫CharacterType用来表示一种游戏角色类别,这就是我们要用内容管道读取的对象,定义几个公有字段如图。

4、在LandLibrary下新建一个类叫Character,除了拥有和CharacterType对应的字段外,还有几个自身的字段,这就是实际游戏中看到的游戏角色了!构造函数传入一个CharacterType表示新建的角色属于的角色类型,如图。

 

5*、在LandLibrary下新建一个ContentTypeReader,用来从数据流中读取数据并存入到一个CharacterType中。(请先把下面耐心看完再操作否则你会后悔,嘻嘻嘻嘻)

6*、在LandLibrary下新建一个ContentTypeWriter,用来向数据流中写入数据。

7、GOOD,现在可以编写一个XML文件放入主程序的Content里,然后在主程序中使用game.Content.Load<CharacterType>("你的XML文件的Asset Name")来从XML中读取角色类型,并使用这个读取的类型作为参数创建新角色(Character)了!但是要注意,XML文件中字段的顺序要与CharacterType中字段的顺序一致,一个实例如图。嘻嘻嘻嘻……在这里告诉大家一个不幸的消息,第5步和第6步是可做可不做的,因为XNA3.1很强大啦……

8、运行结果

范例下载: 200906232306453762.rar

 

 

 

无敌密码生成器V1.3

这个算是中考期间的胜利了吧:)

经过大地无敌的修改,新版无敌密码生成器成为了一个——

“可以用的软件。”

OK废话少说

无敌密码生成器的介绍如下:

无敌密码生成器是可以生成和保存密码的软件,可以生成高强度的密码。保存密码使用DES加密,支持自定义密钥,更加保护密码安全。 就这么简单。

更加恶心的介绍和早期版本的下载在这里:http://www.gquit.cn/post/26.html

这个算是中考期间的胜利了吧:)

经过大地无敌的修改,新版无敌密码生成器成为了一个——

“可以用的软件。”

OK废话少说

无敌密码生成器的介绍如下:

无敌密码生成器是可以生成和保存密码的软件,可以生成高强度的密码。保存密码使用DES加密,支持自定义密钥,更加保护密码安全。 就这么简单。

更加恶心的介绍和早期版本的下载在这里:http://www.gquit.cn/post/26.html

更新内容如下:

1、存储在本机上的密码采取DES加密,并可以为每一个保存的数据定义不同的DES密钥,保证数据安全。

2、除了存储密码之外还可以存储用户名、注释,可以作为一个各种帐号的管理软件。

3、采用XML存储加密后的数据,存储密码数据的限制从5条增加到无限条。

4、又从.Net Framework 3.5 移植到 .Net Framework 2.0 更方便使用。

5、很多细节的更新。

6、界面大改动!!

 

最后,HAVE FUN !

无敌密码生成器V1.3自解压版本下载:200906132207264683.rar(需要.NET Framework 2.0)

 

.NET Framework 3.5的版本和源码大地无敌明天再发布好了:)