![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Делаю маленькую игрульку..
да бы практически изучать AS3/ Столкнулся с проблемой немогу управлять главным мувиком. package main{
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.*;
import flash.net.URLRequest;
import flash.utils.Timer;
import flash.events.TimerEvent;
dynamic public class Body extends MovieClip {;
private var _container:Sprite;
//private var adr:String="";
private var adr:String="C:/AS3_COdding/05_my/Game/";
private var localAdr:String="/item/";
private var TimerCount:Number=400;
private var Kucha:Number=2;
var StageWidth:Number=700;
var StageHeight:Number=550;
var xTarget:Number=0;
var yTarget:Number=0;
var box:Boolean = false;
public function Body() {
super();
this._container=new Sprite ;
this.addChild(this._container);
TimerEventExample();
}
// скорость добавления новой
public function TimerEventExample() {
var myTimer:Timer=new Timer(TimerCount,500);
myTimer.addEventListener(TimerEvent.TIMER,timerHandler);
myTimer.start();
}
// срабатывание таймера
public function timerHandler(event:TimerEvent):void {
//trace(TimerCount);
//trace(Kucha);
SelectItem();
Kucha=2;
StageWidth=700;
StageHeight=550;
xTarget=0;
yTarget=0;
box=false;
}
// случайный выбор номера элемента
private function SelectItem():void {
for (var ii:uint=1; ii < Kucha; ii++) {
var i:Number = Math.round(Math.random() * 28) + 1;
AddItemTo(i);
}
}
// функция добавления объекта на экран
public function AddItemTo(i):void {
var item0:Loader=new Loader;
if (i < 10) {
localAdr="/item/0";
} else {
localAdr="/item/";
}
var url:String=adr + localAdr + i + ".png";
var urlReq:URLRequest=new URLRequest(url);
var xx:Number=Math.random() * StageWidth;
var yy:Number=Math.random() * StageHeight;
item0.load(urlReq);
item0.x=xTarget + Math.round(xx);
item0.y=yTarget + Math.round(yy);
this._container.addChild(item0);
this._container.addEventListener(MouseEvent.CLICK,this.clickHandler);
trace(this._container.numChildren);// количество детей
if (this._container.numChildren > 99) {
this.removeChild(this._container);
}
}
// функция удаления выбранного объекта
public function clickHandler(event:MouseEvent):void {
var index:Number=this._container.getChildIndex(event.target as DisplayObject);
var ldr:Loader=this._container.getChildAt(index) as Loader;
var nameItem:String=ldr.contentLoaderInfo.url;
var nameItemSel=nameItem.slice(-6,nameItem.length - 4);
// много ящиков
if (nameItemSel == "28") {
Kucha=10;
xTarget=this._container.getChildAt(index).x - 50;
yTarget=this._container.getChildAt(index).y - 50;
StageWidth=100;
StageHeight=100;
box = true;
}
// еще больше ящиков
if (nameItemSel == "29") {
Kucha=20;
xTarget=this._container.getChildAt(index).x - 50;
yTarget=this._container.getChildAt(index).y - 50;
StageWidth=100;
StageHeight=100;
box = true;
}
// остановка времени
if (nameItemSel == "25") {
TimerCount = 10000;
TimerEventExample();
}
// Game Over
if (nameItemSel == "07") {
this.removeChild(this._container);
root.gotoAndStop(2);
}
// смена цвета
if (nameItemSel == "24") {
//BackColor(Math.round(Math.random() * 19) + 1);
BackColor();
}
this._container.removeChild(event.target as DisplayObject);
TimerCount=TimerCount - 10;
}
// смена цвета
public function BackColor():void {
var square:Shape=new Shape;
square.graphics.beginFill(0x000000,1);
square.graphics.drawRect(0,0,800,600);
square.graphics.endFill();
this.addChild(square);
this.swapChildren(_container, square);
}
}
}
if (nameItemSel == "07") { this.removeChild(this._container); root.gotoAndStop(2); 1061: Call to a possibly undefined method gotoAndStop through a reference with static type flash.display isplayObject.Вопрос: почему? Прошу реализацию игры не ругать. Согласен подходы немного не те.. но я только учусь.
__________________
Встретимся на пляже! Последний раз редактировалось Alexsas; 21.08.2007 в 15:16. |
![]() |
Часовой пояс GMT +4, время: 21:02. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|