u3d 圣典地板怎么样怎么用

主题:188,帖子:1735
最后回复:
主题:8,帖子:168
最后回复:
主题:124,帖子:655
最后回复:
原创游戏资源交易
最后回复:
Unity3D疑难解答,技术交流。
10182&/&62792
最后回复:
Unity3D开发iPhone、iPad、Android、Windows Phone 8和增强现实游戏。
863&/&4262
最后回复:
Unity3D插件使用交流版
2305&/&63363
最后回复:
网络服务器程序交流
231&/&2684
最后回复:
kinect体感游戏开发,体感外设辅助。
最后回复:
Unity3D在线培训课程
最后回复:
Leap Motion体感控制器技术论坛
最后回复:
主题:330,帖子:5309
最后回复:
主题:1056,帖子:4604
最后回复:
Unity大量教程共享
500&/&43879
最后回复:
Unity相关资源下载
476&/&46395
最后回复:
分享3D模型,除原格式外,任选转.FBX
214&/&10195
最后回复:
各种常用3D或2D创意工具,辅助游戏开发。
最后回复:
会员放松休闲的地方
483&/&2753
最后回复:
网站内容报错
最后回复:
Powered by前几天由于项目需要,要搞定在游戏中添加广告的方法,在U吧中搜到了这篇文章,
进而获得首发出处
从该文中找到AdMob插件的出处
首先尝试了同胞的方法,折腾了大概一天时间吧,未果,老是报错,最后没办法,就想,从根上解决吧,于是开始看老外的帖子,说实话英文技术贴比小说什么的好理解多了。而且官方论坛上的讨论氛围真的很好,很多人都把自己的经验和步骤共享给了大家。借助翻译工具,大体上明白了怎么弄,但是其中关键的重新打jar包却说的并不是很清楚,虽然有几个人共享了步骤,但是是基于mac系统的,很win系统又有些区别,于是,又从帮助文档中查找了关于Plugins的说明。下面是圣典翻译后的
终于明白了plugin是个怎么回事了。又根据前面说的论坛里的回帖,连蒙带猜终于搞定,其中还和论坛上的一个老外通了几次信,别说,咱的不地道的英语人家还是懂了。
废话少说,下面就说下我的步骤。
使用AdMob,必须要把最终发布的游戏的包名改成unitypackage里的包名,但unitypackage里的包名是可以修改的。另外unitypackage里Unity中用到的只有AndroidManifest.xml,res,libs,bin是必须的,上面那篇文里也说了。
1、下载上面的unitypackage并导入Unity中,其实就是将其解压;
2、用eclipse新建工程,取名UnityAd,这个无所谓,需要注意的是package name,必须要和你最终发布的游戏一致。为后边方便activity的名字取和unitypackage中的一致,在解压后的Plugins\Android\src\org\example\AdMobTest下。
3、在工程名上右键,选择属性,导入两个包,一个是上面unitypackage目录下Android/libs里的admob-sdk-android.jar,也可以从AdMob网站上下载最新的包,另一个是Unity\Editor\Data\PlaybackEngines\androidplayer\bin\classes.jar
4、用unitypackage中的AdMobTestActivity.java和AndroidManifest.xml覆盖android工程中的相应文件,用unitypackage中的res文件夹替换android工程的相应文件夹,最好是删了原来的拷过来,覆盖没试,为了保险吧。
5、打开AdMobTestActivity.java,找到&AdManager.setTestDevices( new String[] { "ABCDEF6" } );&改为:
final String androidId = Secure.getString(getContentResolver(), Secure.ANDROID_ID);
AdManager.setTestDevices( new String[] { androidId } );
打开AndroidManifest.xml,找到&&meta-data android:value="YOUR_ID_HERE" android:name="ADMOB_PUBLISHER_ID" /&&,用自己的AdMobId替换YOUR_ID_HERE。
6、运行,run as android application。
7、运行cmd,利用cd命令转到工程bin目录下,但我的win7下的这个命令竟然无法转过去,只能转到c盘根目录,所以只能把工程目录下bin文件夹中的com文件夹拷贝到c盘,把com文件夹打为jar包。具体命令如下
将这个jar包拷贝到unity工程目录下的Assets\Plugins\Android\bin中
8、把android工程下的xml文件拷到unity工程目录下的Assets\Plugins\Android\中。如果刚才新建android工程导入的是从admob上下载的jar包,那还要将其拷到Assets\Plugins\Android\libs下,替换原来的。
最终unity工程plugins文件夹下只有AndroidManifest.xml,res\,libs\,bin\
9、和你的工程一起运行就ok了,模拟器和真机测试全部通过,最好真机,效果好。
阅读(...) 评论()主题:14268
总帖:136620
Unity3D疑难解答,技术交流。
10182&/&62792
最后回复:
Unity3D开发iPhone、iPad、Android、Windows Phone 8和增强现实游戏。
863&/&4262
最后回复:
Unity3D插件使用交流版
2305&/&63363
最后回复:
网络服务器程序交流
231&/&2684
最后回复:
kinect体感游戏开发,体感外设辅助。
最后回复:
Unity3D在线培训课程
最后回复:
Leap Motion体感控制器技术论坛
最后回复:
Powered by.StartCoroutine 开始协同程序
function StartCoroutine (routine : IEnumerator) : Coroutine
Description描述
Starts a coroutine.
开始协同程序。
The execution of a coroutine can be paused at any
point using the yield statement. The yield return value specifies when the
coroutine is resumed. Coroutines are excellent when modelling behaviour over
several frames. Coroutines have virtually no performance overhead.
StartCoroutine function always returns immediately, however you can yield the
result. This will wait until the coroutine has finished execution.
一个协同程序在执行过程中,可以在任意位置使用yield语句。yield的返回值控制何时恢复协同程序向下执行。协同程序在对象自有帧执行过程中堪称优秀。协同程序在性能上没有更多的开销。StartCoroutine函数是立刻返回的,但是yield可以延迟结果。直到协同程序执行完毕。
When using JavaScript it is not necessary to use
StartCoroutine, the compiler will do this for you. When writing C# code you must
call StartCoroutine.
用javascript不需要添加StartCoroutine,编译器将会替你完成.但是在C#下,你必须调用StartCoroutine。
using UnityE
using System.C
public class example :
void Start() {
print(&Starting & + );
StartCoroutine(WaitAndPrint(2.0F));
print(&Before WaitAndPrint Finishes & + );
IEnumerator WaitAndPrint(float waitTime) {
yield return new (waitTime);
print(&WaitAndPrint & + );
// In this example we show how to invoke a coroutine and continue executing
// the function in parallel.
// 此例演示如何调用协同程序和它的执行
function Start() {
// - After 0 seconds, prints &Starting 0.0&
// - After 0 seconds, prints &Before WaitAndPrint Finishes 0.0&
// - After 2 seconds, prints &WaitAndPrint 2.0&
// 先打印&Starting 0.0&和&Before WaitAndPrint Finishes 0.0&两句,2秒后打印&WaitAndPrint 2.0&
print (&Starting & +
// Start function WaitAndPrint as a coroutine. And continue execution while it is running
// this is the same as WaintAndPrint(2.0) as the compiler does it for you automatically
// 协同程序WaitAndPrint在Start函数内执行,可以视同于它与Start函数同步执行.
StartCoroutine(WaitAndPrint(2.0));
print (&Before WaitAndPrint Finishes & +
function WaitAndPrint (waitTime : float) {
// suspend execution for waitTime seconds
// 暂停执行waitTime秒
(waitTime);
print (&WaitAndPrint &+
另一个例子:
using UnityE
using System.C
public class example :
IEnumerator Start() {
print(&Starting & + );
yield return StartCoroutine(WaitAndPrint(2.0F));
print(&Done & + );
IEnumerator WaitAndPrint(float waitTime) {
yield return new (waitTime);
print(&WaitAndPrint & + );
// In this example we show how to invoke a coroutine and wait until it
// is completed
// 在这个例子中我们演示如何调用协同程序并直到它执行完成.
function Start() {
// - After 0 seconds, prints &Starting 0.0&
// - After 2 seconds, prints &WaitAndPrint 2.0&
// - After 2 seconds, prints &Done 2.0&
// 0秒时打印&Starting 0.0&,2秒后打印&WaitAndPrint 2.0&和&Done 2.0&
print (&Starting & +
// Start function WaitAndPrint as a coroutine. And wait until it is completed.
// the same as yield WaitAndPrint(2.0);
// 运行WaitAndPrint直到完成
yield StartCoroutine(WaitAndPrint(2.0));
print (&Done & +
function WaitAndPrint (waitTime : float) {
// suspend execution for waitTime seconds
// 等待waitTime秒
(waitTime);
print (&WaitAndPrint &+
• function StartCoroutine (methodName : string, value : object = null) :
Description描述
Starts a coroutine named methodName.
开始一个叫methodName的协同程序.
In most cases you want to use the StartCoroutine
variation above. However StartCoroutine using a string method name allows you to
use with a specific method name. The downside is that the string version
has a higher runtime overhead to start the coroutine and you can pass only one
很多情况下,我们会用到StartCoroutine的一个变体。使用有字符串方法名的StartCoroutine允许你用StopCoroutine去停止它。其缺点就是会有较高的性能开销,而且你只能传递一个参数。
using UnityE
using System.C
public class example :
IEnumerator Start() {
StartCoroutine(&DoSomething&, 2.0F);
yield return new (1);
StopCoroutine(&DoSomething&);
IEnumerator DoSomething(float someParameter) {
while (true) {
print(&DoSomething Loop&);
// In this example we show how to invoke a coroutine using a string name and stop it
// 这个例子演示如何调用一个使用字符串名称的协同程序并停掉它
function Start () {
StartCoroutine(&DoSomething&, 2.0);
StopCoroutine(&DoSomething&);
function DoSomething (someParameter : float) {
while (true) {
print(&DoSomething Loop&);
// Yield execution of this coroutine and return to the main loop until next frame
// 停止协同程序的执行并返回到主循环直到下一帧.
本脚本参考基于Unity 3.4.1f5英文部分版权属&公司所有,中文部分&
版权所有,未经许可,严禁转载 。

我要回帖

更多关于 unity圣典 的文章

 

随机推荐