重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
就在不久前,创建和部署 游戏 的唯一方法是选择像 Unity 或 Unreal 这样的 游戏 引擎,学习语言,然后打包 游戏 并将其部署到你选择的平台上。
10年积累的成都网站设计、成都网站制作、外贸网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有宣化免费网站建设让你可以放心的选择与我们合作。
试图通过浏览器向用户提供 游戏 的想法似乎是一项不可能完成的任务。
幸运的是,由于浏览器技术的进步和硬件加速在所有流行的浏览器中都可用,JavaScript 性能的改进以及可用处理能力的稳步提高,为浏览器创建交互式 游戏 体验变得越来越普遍。
在本文中,我们将了解如何使用 Three.js 创建 游戏 。但首先,让我们回顾一下 Three.js 是什么以及为什么它是 游戏 开发的好选择。
Three.js 在 GitHub 上的项目描述恰当地将 Three.js 描述为“......一个易于使用、轻量级、跨浏览器的通用 3D 库”。
Three.js 让我们作为开发人员可以相对简单地在屏幕上绘制 3D 对象和模型。如果没有它,我们将需要直接与 WebGL 交互,虽然这并非不可能,但即使是最小的 游戏 开发项目也会花费大量时间。
传统上,“ 游戏 引擎”由多个部分组成。例如,Unity 和 Unreal 提供了一种将对象渲染到屏幕上的方法,但也提供了大量其他功能,如网络、物理等等。
然而,Three.js 的方法更受限制,不包括物理或网络之类的东西。但是,这种更简单的方法意味着它更容易学习和更优化以做它最擅长的事情:将对象绘制到屏幕上。
它还有一组很棒的示例,我们可以使用它们来了解如何在屏幕上绘制各种对象。最后,它提供了一种简单且原生的方式将我们的模型加载到我们的场景中。
如果不希望用户需要通过应用商店下载应用或进行任何设置来玩你的 游戏 ,那么Three.js 作为 游戏 开发引擎可能是一个有吸引力的选择。如果你的 游戏 在浏览器中运行,那么进入门槛最低,这只能是一件好事。
今天,我们将通过制作一个使用着色器、模型、动画和 游戏 逻辑的 游戏 来浏览 Three.js。我们将创建的内容如下所示:
这个概念很简单。我们控制着一艘火箭飞船,穿越一个星球,我们的目标是拾取能量晶体。我们还需要通过增加护盾来管理飞船的 健康 状况,并尽量不要因为撞击场景中的岩石而严重损坏我们的船。
在我们的运行结束时,火箭飞船返回天空中的母舰,如果用户点击 NEXT LEVEL ,他们会再次尝试,这一次火箭要经过更长的路径。
随着用户玩 游戏 ,火箭飞船的速度会增加,因此他们必须更快地躲避岩石并收集能量晶体。
要创建这样的 游戏 ,我们必须回答以下问题:
到我们制作这款 游戏 时,我们将克服这些挑战。
不过,在我们开始编码之前,我们必须回顾一些简短的理论,特别是与我们将如何在 游戏 中创造运动感有关。
想象一下,你在现实生活中控制着一架直升机,并且正在跟踪地面上的一个物体。物体以逐渐增加的速度继续前进。为了跟上,你必须逐渐提高你所在直升机的速度。
如果对直升机或地面上的物体的速度没有限制,只要你想跟上地面上的物体,这种情况就会持续下去。
当创建一个跟随对象的 游戏 时,正如我们在本例中所做的那样,应用相同的逻辑可能很诱人。也就是说,在世界空间中随着物体的加速移动物体,并更新后面跟随的相机的速度。然而,这提出了一个直接的问题。
基本上,每个玩这个 游戏 的人都会在他们的手机或台式电脑上玩它。这些设备资源有限。如果我们尝试在相机移动时生成可能无限数量的对象,然后移动该相机,最终我们将耗尽所有可用资源,并且浏览器选项卡将变得无响应或崩溃。
我们还需要创建一个代表海洋的平面(一个平面 2D 对象)。当我们这样做时,我们必须给出海洋的尺寸。
然而,我们不能创建一个无限大的平面,我们也不能创建一个巨大的平面,只是希望用户永远不会在我们的关卡中前进到足以让他们离开平面的程度。
那是糟糕的设计,并且希望人们玩我们的 游戏 不足以体验错误似乎违反直觉。
我们不是在一个方向上无限期地移动我们的相机,而是让相机保持静止并移动它周围的环境。这有几个好处。
一是我们总是知道火箭飞船在哪里,因为火箭的位置不会移到远处;它只会左右移动。这让我们很容易判断物体是否在相机后面,并且可以从场景中移除以释放资源。
另一个好处是我们可以选择远处的一个点来创建对象。这意味着当物体接近玩家时,新的物品或物体将不断地在玩家视野之外的距离创建。
当它们从视野中消失时,无论是玩家与它们发生碰撞还是从玩家身后消失,这些物品都会从场景中移除,以降低内存使用量。
要创建这种效果,我们需要做两件事:首先,我们需要在程序上沿深度轴移动每个项目,以将对象移向相机。其次,我们必须为我们的水面提供一个可以抵消的值,并随着时间的推移增加这个偏移量。
这将产生水面移动越来越快的效果。
现在我们已经解决了如何在场景中向前移动火箭,让我们继续设置我们的项目。
让我们开始制作 游戏 吧!我们需要做的第一件事是设置构建环境。对于这个例子,我选择使用 Typescript 和 Webpack。这篇文章不是要讨论这些技术的有点,所以除了快速总结之外,我不会在这里详细介绍它们。
使用 Webpack 意味着当我们开发项目并保存文件时,Webpack 将看到我们的文件已更改,并使用保存的更改自动重新加载浏览器。
这意味着我们无需在每次进行更改时手动刷新浏览器,从而节省大量时间。这也意味着我们可以使用像three-minifier这样的插件,它可以在我们部署它时减小我们的包的大小。
在我们的示例中使用 TypeScript 意味着我们的项目将具有类型安全性。我发现这在使用 Three.js 的一些内部类型时特别有用,比如Vector3s 和Quaternions. 知道我将正确类型的值分配给变量是非常有价值的。
我们还将在 UI 中使用Materialize CSS。对于我们将用作 UI 的几个按钮和卡片,这个 CSS 框架将有很大帮助。
要开始我们的项目,请创建一个新文件夹。在文件夹中,创建一个package.json并粘贴以下内容:
然后,在命令窗口中,键入npm i以将包安装到新项目中。
我们现在需要创建三个文件,一个基本的 Webpack 配置文件,然后是我们项目的开发和生产配置文件。
在项目文件夹中创建一个webpack.common.js文件并粘贴以下配置:
然后,创建一个webpack.dev.js文件并粘贴这些详细信息。这配置了 Webpack 开发服务器的热重载功能:
最后,创建一个webpack.production.js文件并粘贴这些详细信息:
我们需要做的下一件事是配置 TypeScript 环境以允许我们使用来自 JavaScript 文件的导入。为此,请创建一个tsconfig.json文件并粘贴以下详细信息:
我们的构建环境现在已经配置好了。现在是时候开始为我们的玩家创造一个美丽而可信的场景了。
我们的场景包含以下元素:
我们将在一个名为 game.ts的文件中完成大部分工作,但我们也会将部分 游戏 拆分为单独的文件,这样我们就不会得到一个非常长的文件。我们现在可以继续创建文件game.ts。
因为我们正在处理一个非常复杂的主题,所以我还将包含指向此代码在 GitHub 上的项目中的位置的链接。这应该有望帮助你保持自己的方向,而不是在更大的项目中迷失方向。
我们需要做的第一件事是创建一个Scene,以便 Three.js 有一些东西可以渲染。在我们的game.ts中,我们将添加以下行来构建我们的并将 一个ScenePerspectiveCamera放置在场景中,这样我们就可以看到发生了什么。
最后,我们将为稍后分配的渲染器创建一个引用:
为了设置我们的场景,我们需要执行一些任务,比如创建一个新的WebGLRenderer和设置我们想要绘制的画布的大小。
为此,让我们创建一个init函数并将其也放入我们的game.ts中。此init函数将为我们的场景执行初始设置,并且只运行一次(当 游戏 首次加载时):
我们还需要为场景利用渲染和动画循环。我们需要动画循环来根据需要在屏幕上移动对象,并且我们需要渲染循环来将新帧绘制到屏幕上。
让我们继续在game.ts中创建render函数。 一开始,这个函数看起来很简单,因为它只是请求一个动画帧然后渲染场景。
我们请求动画帧的原因有很多,但其中一个主要原因是如果用户更改选项卡,我们的 游戏 将暂停,这将提高性能并减少设备上可能浪费的资源:
好了,现在我们有了一个空的场景,里面有一个相机,但没有别的了。让我们在场景中添加一些水。
幸运的是,Three.js 包含一个我们可以在场景中使用的水对象示例。它包括实时反射,看起来相当不错;你可以在这里查看。
对我们来说幸运的是,这种水将完成我们在场景中想要做的大部分事情。我们唯一需要做的就是稍微改变水的着色器,这样我们就可以在渲染循环中更新它。
我们这样做是因为如果随着时间的推移,我们越来越多地抵消我们的水纹理,那么它会给我们带来速度的感觉。
作为演示,下面就是我们 游戏 的开场场景,但我每帧都增加了偏移量。随着偏移量的增加,感觉就像我们下方海洋的速度正在增加(即使火箭实际上是静止的)。
水对象可以在 Three.js GitHub 上找到。我们唯一需要做的就是做一个小的改变,使这个偏移量可以从我们的渲染循环中控制(所以我们可以随着时间的推移更新它)。
我们要做的第一件事是在 Three.js 存储库中获取 Water.js 示例的副本。我们将把这个文件objects/water.js放在我们的项目中。如果我们打开water.js文件,大约一半,我们将开始看到如下所示的内容:
这是海洋材质的着色器。着色器本身的介绍超出了本文的范围,但基本上,它们是我们的 游戏 将向用户的计算机提供的关于如何绘制此特定对象的说明。
这里还有我们的着色器代码,它是用 OpenGraph 着色器语言 (GLSL) 编写的,并合并到一个原本是 JavaScript 的文件中。
这没有什么问题,但是如果我们将这个着色器代码单独移动到一个文件中,那么我们可以将 GLSL 支持安装到我们选择的 IDE 中,我们将获得语法着色和验证之类的东西,这有助于我们自定义 GLSL .
要将 GLSL 分解为单独的文件,让我们在当前objects目录中创建一个shader目录,选择 我们的vertexShader和 fragmentShader 的内容, 并将它们分别移动到waterFragmentShader.glsl和waterVertexShader.glsl文件中。
在我们waterFragmentShader.glsl文件的顶部,我们有一个getNoise函数。默认情况下,它看起来像这样:
为了使这个偏移量可以从我们的 游戏 代码中调整,我们想在我们的 GLSL 文件中添加一个参数,允许我们在执行期间对其进行修改。为此,我们必须将此函数替换为以下函数:
你会注意到我们在这个 GLSL 文件中包含了一个新变量:speed变量。这是我们将更新以提供速度感的变量。
在我们的game.ts中,现在需要配置水的设置。在我们文件的顶部,添加以下变量:
然后,在我们的init函数中,必须配置水平面的旋转和位置,如下所示:
这将为海洋提供正确的旋转。
Three.js 带有一个相当令人信服的天空,我们可以在项目中免费使用它。你可以在此处的 Three.js 示例页面中查看此示例。
在我们的项目中添加天空非常容易;只需要将天空添加到场景中,设置天空盒的大小,然后设置一些参数来控制天空的外观。
我们需要对初始场景初始化做的最后一件事是添加一些光照并添加我们的火箭模型和母舰模型:
现在我们有了一些漂亮的水和火箭的场景。但是,我们缺乏任何可以真正使它成为 游戏 的东西。为了解决这个问题,我们需要构建一些基本参数来控制 游戏 并允许玩家朝着某些目标前进。
在我们game.ts文件的顶部,我们将添加以下sceneConfiguration变量,这有助于我们跟踪场景中的对象:
现在,我们必须为玩家所在的当前关卡执行初始化。这个场景设置函数很重要,因为每次用户开始一个新的关卡时都会调用它。
因此,我们需要将火箭的位置设置回起点并清理所有正在使用的旧资产。我在代码行内添加了一些注释,以便你可以看到每一行在做什么:
我们预计有两种类型的设备可以玩我们的 游戏 :台式电脑和手机。为此,我们需要适应两种类型的输入选项:
现在让我们配置这些。
在我们game.ts的开始,我们将添加以下变量来跟踪键盘上是否按下了左键或右键:
然后,在我们的init函数中,我们将注册keydownandkeyup事件来分别调用onKeyDownandonKeyUp函数:
最后,对于键盘输入,我们将记录按下这些键时要执行的操作:
我们的移动用户没有键盘可以输入,因此,我们将使用nippleJS在屏幕上创建一个操纵杆,并使用操纵杆的输出来影响火箭在屏幕上的位置。
在我们的init函数中,我们将通过检查它在屏幕上是否有非零数量的触摸点来检查设备是否是触摸设备。如果是,我们将创建操纵杆,但一旦玩家释放操纵杆的控制,我们还将将火箭的运动设置回零:
在我们的animate函数中,我们会跟踪此时按下左键或右键或操纵杆是否正在使用中的操作。我们还将火箭的位置夹在可接受的左右位置,这样火箭就不能完全移出屏幕:
正如我们已经讨论过的,火箭飞船在我们的场景中保持静止,并且物体朝它移动。这些物体移动的速度随着用户继续玩而逐渐增加,随着时间的推移增加了关卡的难度。
仍然在我们的动画循环中,我们希望逐步将这些对象移向玩家。当对象离开玩家的视野时,我们希望将它们从场景中移除,这样我们就不会占用玩家计算机上不必要的资源。
在我们的渲染循环中,我们可以像这样设置这个功能:
我们可以看到有几个函数是这个调用的一部分:
让我们 探索 一下这些函数在我们的 游戏 中完成了什么。
碰撞检测是我们 游戏 的重要途径。没有它,我们将不知道我们的火箭飞船是否达到了任何目标,或者它是否撞到了岩石并应该减速。这就是我们想要在 游戏 中使用碰撞检测的原因。
通常,我们可以使用物理引擎来检测场景中对象之间的碰撞,但是 Three.js 没有包含物理引擎。
不过,这并不是说 Three.js 不存在物理引擎。他们当然可以,但是为了我们的需要,我们不需要添加物理引擎来检查我们的火箭是否击中了另一个物体。
本质上,我们想回答这个问题,“我的火箭模型目前是否与屏幕上的任何其他模型相交?” 我们还需要根据受到的打击以某些方式做出反应。
例如,如果我们的玩家不断将火箭撞到岩石上,我们需要在受到一定程度的伤害后结束关卡。
为了实现这一点,让我们创建一个函数来检查我们的火箭和场景中的对象的交集。根据玩家击中的内容,我们会做出相应的反应。
我们将把这段代码放在我们的game目录中的一个collisionDetection.ts文件中:
对于碰撞检测,我们唯一需要做的另一件事是添加一个短动画,当用户与对象碰撞时播放该动画。此函数将获取发生碰撞的位置并从该原点生成一些框。
完成的结果将如下所示。
为了实现这一点,我们必须在碰撞发生的地方创建一个圆圈中的盒子,并将它们向外设置动画,这样看起来它们就像从碰撞中爆炸一样。为此,让我们在collisionDetection.ts文件中添加此功能:
这就是我们整理出来的碰撞检测,当物体被破坏时会有一个漂亮的动画。
随着场景的进行,我们希望在玩家的两侧添加一些悬崖,这样感觉就像他们的运动在某个空间内得到了适当的限制。我们使用模运算符在程序上将岩石添加到用户的右侧或左侧:
随着场景的进行,我们还希望将“挑战行”添加到场景中。这些是包含岩石、水晶或盾牌物品的物体。每次创建这些新行中的一个时,我们都会为每一行随机分配岩石、水晶和盾牌。
因此,在上面的示例中,单元格 1、2 和 4 没有添加任何内容,而单元格 3 和 5 分别添加了水晶和盾牌项目。
为了实现这一点,我们将这些挑战行分为五个不同的单元格。我们根据随机函数的输出在每个单元格中生成某个项目,如下所示:
可以在这些链接中的任何一个查看岩石、水晶和盾牌创建功能。
我们需要在渲染循环中完成的最后一件事是:
在我们的渲染函数结束时,我们可以添加以下代码来适应这个功能:
这就是我们的渲染循环完成了。
当人们加载我们的 游戏 时,他们会看到一些让他们能够开始玩的按钮。
这些只是简单的 HTML 元素,我们根据 游戏 中发生的情况以编程方式显示或隐藏它们。问题图标让玩家对 游戏 的内容有所了解,并包含有关如何玩 游戏 的说明。它还包括我们模型的(非常重要的!)许可证。
并且,按下红色按钮开始 游戏 。请注意,当我们点击红色的“播放”按钮时,摄像机会移动并旋转到火箭后面,让玩家准备好开始场景。
在我们的场景init函数中,我们将要执行此操作的事件注册到此按钮的onClick处理程序。要创建旋转和移动功能,我们需要执行以下操作:
为此,我们将在init函数中添加以下代码,如下所示:
当我们的关卡结束时,我们还必须连接我们的逻辑,并且可以在此处查看执行此操作的代码。
在 Three.js 中创建 游戏 可以让你接触到数量惊人的潜在客户。由于人们可以在浏览器中玩 游戏 而无需下载或安装到他们的设备上,因此它成为开发和分发 游戏 的一种非常有吸引力的方式。
正如我们所见,为广泛的用户创造一种引人入胜且有趣的体验是非常有可能的。所以,唯一需要解决的是,你将在 Three.js 中创建什么?
原文链接:
假设轨迹是椭圆,拖动时,首先计算鼠标位置与圆点所在直线的角度,然后根据角度计算出新球的位置。
如果是任意路径,可以学习一下flash中引导层。首先把路径保存成一个坐标数组,比如一圈总共有100个点,然后还是拖动时,首先计算鼠标位置与圆点所在直线的角度,根据角度决定新球应该处于那个点的位置。
skymap是一款很不错的天文模拟软件,而且占用的空间也不大。另外推荐楼主下载一个立体星图Stellarium 0.8.2 中文版,虽然空间占的大些,但效果和功能要强大很多。
58同城用的是北斗卫星导航地图。
北斗卫星导航系统(以下简称北斗系统)是中国着眼于国家安全和经济社会发展需要,自主建设、独立运行的卫星导航系统,是为全球用户提供全天候、全天时、高精度的定位、导航和授时服务的国家重要空间基础设施。
随着北斗系统建设和服务能力的发展,相关产品已广泛应用于交通运输、海洋渔业、水文监测、气象预报、测绘地理信息、森林防火、通信时统、电力调度、救灾减灾、应急搜救等领域,逐步渗透到人类社会生产和人们生活的方方面面,为全球经济和社会发展注入新的活力。
北斗系统具有以下特点:
一是北斗系统空间段采用三种轨道卫星组成的混合星座,与其他卫星导航系统相比高轨卫星更多,抗遮挡能力强,尤其低纬度地区性能特点更为明显。
二是北斗系统提供多个频点的导航信号,能够通过多频信号组合使用等方式提高服务精度。
三是北斗系统创新融合了导航与通信能力,具有实时导航、快速定位、精确授时、位置报告和短报文通信服务五大功能。
手机连接HDMI接口实现手机屏幕与车载中控屏幕同步,比如中控屏不带导航,可以实现手机与中控同步显示手机屏导航信息。
手持设备标记语言是用于创建一个简单的语言,类似超文本,为小显示器,手持设备提供内容。
HDML(手持装置标示语言),通常与WML(无线标示语言)进行对比。是一种能够让手机或PDA可以上网浏览信息的一种语言。
Unwired Planet(无线星球)公司设计了这种语言,并将其定位为免费的开源语言。任何具备HTML,CGI以及SQL编程经验的程序员都可以利用HDML语言来编写代码。
HDML与XML的一个主要区别在于WML是基于XML的,而HDML不是。另外,HDML不支持脚本,而WML拥有自己的JavaScript脚本语言,称为WMLScript。
不要搞什么3721,那个本来就是个流氓网站上的流氓软件。搞不好明天不弹娱乐频道-星球网站,只弹3721了。
打开IE上的工具,intel选项,安全,受限制的站点,把你说的那个网站的地址加进去。如果还是不行,请参考以下文章。
关于IE浏览器被恶意修改后的恢复
apollo 发表于 2006-3-26 22:44:09
情况一 修改IE的标题栏 即在IE浏览器最上方的蓝色横条里做广告,而不是显示默认的“Microsoft Internet Explorer”。这种修改非常常见,有人也特意针对它编制了反修改的程序。
解决方法:注册表位置
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main
在注册表中找到以上两处主键,将其下的“Window Title”主键删除,并关闭所有打开的IE浏览器窗口再重新打开就能看到效果。
$$$$情况二 修改IE的首页$$$$$√
解决方法:这个改回来很方便,在IE的设置里就有(Internet选项-常规-主页)。比较麻烦的是某些网页在浏览者的硬盘里写入程序,使重启计算机后首页设置又被改了回去,这时可使用“系统配置实用程序”来解决。开始—运行,键入msconfig.EXE点击“确定”,在弹出的窗口中切换到“启动”选项卡,禁用可疑的程序启动项。
情况三 在Windows启动时显示一个窗口,点确定才能进去 这个设置其实与IE无关,而是Windows的登录提示窗口,不过最近有些网页对它动上了脑筋,在这个窗口里做广告。
解决方法:注册表 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Winlogon
在注册表中找到此主键,将其下的“LegalNoticeCaption”和“LegalNoticeText”主键删除即可。
情况四 在IE里点击鼠标右键。在弹出的菜单里显示网页广告 这种情况很少见,不过解决方法也不复杂。
解决方法:注册表 HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\MenuExt
在IE中显示的附加右键菜单都在这里设置,常见的网络蚂蚁和网际快车点击右键下载的信息也存放在这里,只需找到显示广告的主键条目删除即可。
情况五 禁止或允许用户修改IE首页
解决方法:运行注册表编辑器(开始菜单-运行-regedit-确定), 打开HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel, 其实一般此键是不存在的, 只存在 HKEY_CURRENT_USER\Software\Policies\Microsoft, 所以后面一截你要自己建立, 主键建立完后在Control Panel键下新建一个DWORD值数据, 键名为HOMEPAGE(不分大小写), 键值为1. 此时你打开IE属性时可以发现它改首页设置的部分已经不可用了。当然如果你想先指定主页的话可以把HOMEPAGE的值改为0或删除它, 然后修改主页设置, 再把HOMEPAGE改回来即可。
情况六 去掉注册表编辑器被锁定问题
解决方法:
在Windows 2000/XP/2003中,我们可以通过单击“开始→运行”,输入“Gpedit.msc”后回车,打开“组策略”。然后依次展开“用户配置→管理模板→系统”,双击右侧窗口中的“阻止访问注册表编辑工具”,在弹出的窗口中选择“已禁用”,“确定”后再退出“组策略”,即可为注册表解锁。
1 win2000系统
Windows Registry Editor Version 5.00 [Hkey_current_user\Software\microsoft\windows\currentversion\Policies\system] "DisableRegistryTools"=dword:00000000 。
2 win98/me系统
REGEDIT4 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System] "DisableRegistryTools"=dword:00000000
将以上代码copy到记事本中,然后将这个文件的名字改为*.reg双击运行可以解除你的锁定状态。
防范措施
1.因为修改注册表设置都是用的JavaScript脚本语言,所以只需禁用它即可。但这种脚本语言应用广泛,所以建议在IE的设置中将脚本设为“提示”。
2.建议使用一些单窗口多页面的浏览器如NetCaptor,myie等,因为它们往往能更方便地切换脚本设置,象我常用的NetCaptor,用工具栏中的“安全”按钮能很方便地设置脚本、ActiveX和Cookie的启用情况。
3.使用Win2000的朋友,只需在“控制面板”—“管理工具”—“服务”中禁用Remote Registry Service服务,也无法通过浏览网页来修改你的注册表了
还有就是在我的电脑,C盘,program files,Internet Explorer裏,把PLUGINS文件夹裏的东西全删掉。
回答者: 冷静地摇啊滚 - 助理 二级 5-24 05:40