木有砸中

package 
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.ui.Mouse;
	import flash.events.MouseEvent;
	import com.greensock.*;
	import com.greensock.easing.*;
	import flash.utils.Timer;
	import flash.events.TimerEvent;
	import flash.net.URLRequest;
	import flash.net.URLLoader;
	import flash.net.URLRequestMethod;
	import flash.external.ExternalInterface;

	public class init extends Sprite
	{
		private var ScratchRequest:URLRequest;

		private var egg1:Egg  = new Egg();
		private var egg2:Egg  = new Egg();
		private var egg3:Egg  = new Egg();
		private var pro:Prompt = new Prompt();

		private var hammer:Hammer = new Hammer();

		private var timer:Timer;
		private var Twtimer:Timer;
		private var dotrueTimer:Timer;
		private var doStatus:Boolean = true;

		private var itme:Itme = new Itme();
		private var statusId:int = 1;
		private var phpurl:String = "";

		private var btDetecting:Boolean = true;

		public function init()
		{
			// constructor code
			Mouse.hide();
			phpurl = stage.loaderInfo.parameters.phpurl;
			ScratchRequest = new URLRequest(phpurl);
			
			hammer.mouseEnabled = false;
			getValueFromPHP();
			constructorFun();
		}

		private function getValueFromPHP():void
		{

			var urlLoader:URLLoader = new URLLoader();
			ScratchRequest.method = URLRequestMethod.POST;

			urlLoader.addEventListener(Event.COMPLETE,loaderCompleteHandler);

			//urlLoader.load(ScratchRequest);

		}

		function loaderCompleteHandler(evt:Event)
		{
			trace(evt.target.data);
			if (evt.target.data == "true")
			{
				btDetecting = true;
			}
			else
			{
				btDetecting = false;
			}
		}

		function showFailure():void
		{
			ExternalInterface.call("showFailure");
		}

		private function constructorFun():void
		{

			addChild(egg1);
			addChild(egg2);
			addChild(egg3);
			addChild(hammer);

			egg1.x = 358;
			egg2.x = 605;
			egg3.x = 857;
			egg1.y = egg2.y = egg3.y = 171;

			addEventListener(Event.ENTER_FRAME,enter_frameHandler);
			addEventListener(MouseEvent.CLICK,stageClickHandler);

		}

		private function alertfun(x:int,y:int):void
		{

			timer = new Timer(900,1);
			timer.addEventListener(TimerEvent.TIMER_COMPLETE,timerComplete);
			addChild(pro);
			pro.scaleX = 0;
			pro.scaleY = 0;
			pro.x = x;
			pro.y = y;
			addChild(hammer);
			timer.start();

			dotrueTimer = new Timer(2000,1);
			dotrueTimer.addEventListener(TimerEvent.TIMER,dotrueTimerComplete);

			if (x == 348)
			{

				statusId = 1;
				dotrueTimer.start();
			}
			if (x == 596)
			{

				statusId = 2;
				dotrueTimer.start();
			}
			if (x == 851)
			{

				statusId = 3;
				dotrueTimer.start();
			}

		}

		private function dotrueTimerComplete(e:TimerEvent):void
		{
			eggComplete(statusId);
			dotrueTimer.stop();
			dotrueTimer = null;
		}

		private function eggComplete(value:int):void
		{

			Twtimer = new Timer(500,2);
			Twtimer.addEventListener(TimerEvent.TIMER,TwtimerComplete);

			statusId = value;

			Twtimer.start();

		}

		private function TwtimerComplete(E:TimerEvent):void
		{

			if (statusId == 1)
			{
				TweenLite.to(egg2, .1, {rotation:-6, onComplete:eggComplete2});
			}
			if (statusId == 2)
			{
				TweenLite.to(egg3, .1, {rotation:-6, onComplete:eggComplete2});
			}
			if (statusId == 3)
			{
				TweenLite.to(egg1, .1, {rotation:-6, onComplete:eggComplete2});
			}

		}

		private function eggComplete2():void
		{
			if (statusId == 1)
			{
				TweenLite.to(egg2, .1, {rotation:6,onComplete:eggComplete3});
			}
			if (statusId == 2)
			{
				TweenLite.to(egg3, .1, {rotation:6,onComplete:eggComplete3});
			}
			if (statusId == 3)
			{
				TweenLite.to(egg1, .1, {rotation:6,onComplete:eggComplete3});
			}

		}

		private function eggComplete3():void
		{
			addChild(itme);
			addChild(hammer);
			itme.y = 0;
			if (statusId == 1)
			{
				TweenLite.to(egg2, .1, {rotation:0});
				itme.x = 654;
			}
			if (statusId == 2)
			{
				TweenLite.to(egg3, .1, {rotation:0});
				itme.x = 901;
			}
			if (statusId == 3)
			{
				TweenLite.to(egg1, .1, {rotation:0});
				itme.x = 395;
			}

			showFailure();

		}

		private function timerComplete(e:TimerEvent):void
		{

			TweenLite.to(pro, 1, {scaleX:1, scaleY:1, ease:Back.easeInOut});
			//removeEventListener(MouseEvent.CLICK,stageClickHandler);

		}

		private function stageClickHandler(e:MouseEvent):void
		{

			TweenLite.to(hammer, .25, {rotation:-220});
			TweenLite.to(hammer, .25, {rotation:0});

			trace(e.target.name);
			if (btDetecting)
			{
				if (doStatus)
				{
					doStatus = false;
					if (e.target.name == "instance3")
					{

						addChild(egg1);
						addChild(hammer);
						egg1.gotoAndPlay(2);

						alertfun(348,84);

					}
					if (e.target.name == "instance6")
					{

						addChild(egg2);
						addChild(hammer);
						egg2.gotoAndPlay(2);

						alertfun(596,84);

					}
					if (e.target.name == "instance9")
					{

						addChild(egg3);
						addChild(hammer);
						egg3.gotoAndPlay(2);

						alertfun(851,84);

					}

				}
			}else{
				ExternalInterface.call("showPrompt");
			}

		}

		private function enter_frameHandler(e:Event):void
		{
			hammer.x = stage.mouseX;
			hammer.y = stage.mouseY;
		}

	}

}

js

<script type="text/javascript">
function showFailure(){
	setInterval(function (){
		$('#mabi-tc').show();
	}, 2000);
}
function showPrompt(){
	$('.zadanPrompt').show();
}

$(document).ready(function(){
	
	$('.zadanPrompt').css('opacity',0.5);
	
	$('.zadanPrompt a').click(function (){
		$('.zadanPrompt').hide();
	});
	$('.mabi-guanbi').click(function(){
		$('.sheet-overlay').hide();
		$('#mabi-tcdl').hide();
	});
	
	$('.button').click(function (){
		$('#mabi-tcdl').hide();
		$('.sheet-overlay').hide();
		if(0){$('#zadana').show();}else{$('#zadana').hide();}
		//$('#zadana').hide();
	});
	
	$('#zadana').bind('click',function(){
		$('#mabi-tcdl').show();
		$('.sheet-overlay').show();
	});
	
});
</script>


内容概要:本文深入探讨了Kotlin语言在函数式编程和跨平台开发方面的特性和优势,结合详细的代码案例,展示了Kotlin的核心技巧和应用场景。文章首先介绍了高阶函数和Lambda表达式的使用,解释了它们如何简化集合操作和回调函数处理。接着,详细讲解了Kotlin Multiplatform(KMP)的实现方式,包括共享模块的创建和平台特定模块的配置,展示了如何通过共享业务逻辑代码提高开发效率。最后,文章总结了Kotlin在Android开发、跨平台移动开发、后端开发和Web开发中的应用场景,并展望了其未来发展趋势,指出Kotlin将继续在函数式编程和跨平台开发领域不断完善和发展。; 适合人群:对函数式编程和跨平台开发感兴趣的开发者,尤其是有一定编程基础的Kotlin初学者和中级开发者。; 使用场景及目标:①理解Kotlin中高阶函数和Lambda表达式的使用方法及其在实际开发中的应用场景;②掌握Kotlin Multiplatform的实现方式,能够在多个平台上共享业务逻辑代码,提高开发效率;③了解Kotlin在不同开发领域的应用场景,为选择合适的技术栈提供参考。; 其他说明:本文不仅提供了理论知识,还结合了大量代码案例,帮助读者更好地理解和实践Kotlin的函数式编程特性和跨平台开发能力。建议读者在学习过程中动手实践代码案例,以加深理解和掌握。
内容概要:本文深入探讨了利用历史速度命令(HVC)增强仿射编队机动控制性能的方法。论文提出了HVC在仿射编队控制中的潜在价值,通过全面评估HVC对系统的影响,提出了易于测试的稳定性条件,并给出了延迟参数与跟踪误差关系的显式不等式。研究为两轮差动机器人(TWDRs)群提供了系统的协调编队机动控制方案,并通过9台TWDRs的仿真和实验验证了稳定性和综合性能改进。此外,文中还提供了详细的Python代码实现,涵盖仿射编队控制类、HVC增强、稳定性条件检查以及仿真实验。代码不仅实现了论文的核心思想,还扩展了邻居历史信息利用、动态拓扑优化和自适应控制等性能提升策略,更全面地反映了群体智能协作和性能优化思想。 适用人群:具备一定编程基础,对群体智能、机器人编队控制、时滞系统稳定性分析感兴趣的科研人员和工程师。 使用场景及目标:①理解HVC在仿射编队控制中的应用及其对系统性能的提升;②掌握仿射编队控制的具体实现方法,包括控制器设计、稳定性分析和仿真实验;③学习如何通过引入历史信息(如HVC)来优化群体智能系统的性能;④探索中性型时滞系统的稳定性条件及其在实际系统中的应用。 其他说明:此资源不仅提供了理论分析,还包括完整的Python代码实现,帮助读者从理论到实践全面掌握仿射编队控制技术。代码结构清晰,涵盖了从初始化配置、控制律设计到性能评估的各个环节,并提供了丰富的可视化工具,便于理解和分析系统性能。通过阅读和实践,读者可以深入了解HVC增强仿射编队控制的工作原理及其实际应用效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EndingCoder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值