unity3d的playmaker插件使用教程,九、playmaker和脚本

这里简单演示,playmaker如何调用脚本中的方法,以及脚本如何调用playmaker。


先在场景里添加一个盒子

unity3d的playmaker插件使用教程,九、playmaker和脚本_第1张图片


在cube上

添加ForceButton、Rotate状态,

添加spin_cube事件

unity3d的playmaker插件使用教程,九、playmaker和脚本_第2张图片


在ForceButton状态下添加GUI Button动作



新建脚本 RandomRotCube,并将脚本添加为Cube的组件

using UnityEngine;
using System.Collections;

public class RandomRotCube : MonoBehaviour {

	private float  rotAmount;

	public void RandRotCube(){
		rotAmount = Random.Range (-40, 40);
		print (rotAmount);

		transform.rotation = Quaternion.Euler (0f, rotAmount, 0f);
	}
}




在Roatate状态下添加Send Message动作。

unity3d的playmaker插件使用教程,九、playmaker和脚本_第3张图片


设置send Message中的方法名称是脚本中需要调用的方法名。



运行预览,点击按钮后,方块随机转一个角度。



要传递参数也很方便,添加一个方法,带参数的,

using UnityEngine;
using System.Collections;

public class RandomRotCube : MonoBehaviour {

	private float  rotAmount;

	public void RandRotCube(){
		rotAmount = Random.Range (-40, 40);
		print (rotAmount);

		transform.rotation = Quaternion.Euler (0f, rotAmount, 0f);
	}

	public void ApplyForce(float userForce){
		GetComponent<Rigidbody> ().AddForce (0f, userForce, 0f);
	}
}


给方块添加刚体组件,在Rotate状态下再添加一个Send Message,并设置方法名称和参数

unity3d的playmaker插件使用教程,九、playmaker和脚本_第4张图片


运行预览,点击按钮后,方块不但会转还会跳起来。



接下来是在脚本里调用playmaker。

在场景里添加一个带GUI Text的游戏对象,在其下面添加Listener、Random状态和SetNumber事件



添加String类型参数 currentNumber和Int类型参数radInt

unity3d的playmaker插件使用教程,九、playmaker和脚本_第5张图片


在Random状态下添加动作,Random Int、Convert Int To String和Set GUI Text,随机出一个整数以后再GUI Text上显示。

unity3d的playmaker插件使用教程,九、playmaker和脚本_第6张图片


修改GameObejct的名称

unity3d的playmaker插件使用教程,九、playmaker和脚本_第7张图片


新建一个脚本

using UnityEngine;
using System.Collections;

public class CallFSM : MonoBehaviour {

	private PlayMakerFSM fsm;

	void Start(){
		fsm = GameObject.Find ("GUITextShow").GetComponent<PlayMakerFSM> ();
	}

	void OnGUI(){
		if (GUI.Button (new Rect (100, 100, 100, 100), "script call")) {
			fsm.Fsm.Event ("SetNumber");
		}
	}
}


将脚本添加为组件

unity3d的playmaker插件使用教程,九、playmaker和脚本_第8张图片

运行预览,点击script call按钮,会随机显示整数。


你可能感兴趣的:(插件,unity3d,Playmaker)