Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как 2 мувика объединить и задать для него параметр (http://www.flasher.ru/forum/showthread.php?t=174965)

Лампе05 06.02.2012 19:52

Как 2 мувика объединить и задать для него параметр
 
Хочу сделать игрушку типа стрелками управляю танчиком а дуло крутиться с помощью мыши
Так вот танчик нарисовал задал имя
а дуло будет крутиться методом Atan2 те галаза следяшие за курсором мыши
Вопрос танчиком управлять смогу а дуло как прикрепить чтобы оно двигалось по сцене вместе с танчиком в тоже время крутилось за курсором

GBee 06.02.2012 20:07

http://ghive.ru/tmp/tanks/ ?

Добавлено через 2 минуты
киньте почту в личку, пришлю исходники

Лампе05 06.02.2012 20:10

Цитата:

Сообщение от GBee (Сообщение 1061300)

ох тышш класс да именно это и имел ввиду только мне хотя бы ,сделать передвигающегося танка следяшим дулом за курсор
учти я начинающий

GBee 06.02.2012 20:18

Ну переписывать я их не буду. Отправлю, как есть. Там задумывался большой проект :о)), но потом зафрилансили.

Лампе05 07.02.2012 13:36

"Танчик и дуло добавьте в один контейнер и управляйте контейнером, либо можете дуло добавить в объект танчика."

Мне тут кое кто помог а как создать контейнер ?
Или как Дуло добавить в обьект танчика ?

Inet_PC 07.02.2012 14:21

Код AS3:

var tank:Sprite = new Sprite();
var dulo:Sprite = new Sprite();
tank.addChild(dulo);


Лампе05 08.02.2012 19:53

Цитата:

Сообщение от Inet_PC (Сообщение 1061445)
Код AS3:

var tank:Sprite = new Sprite();
var dulo:Sprite = new Sprite();
tank.addChild(dulo);


:yahoo:спасибоооо

GBee 08.02.2012 22:12

Вы дискредитируете мои исходники :о)

Лампе05 08.02.2012 22:29

Цитата:

Сообщение от GBee (Сообщение 1061737)
Вы дискредитируете мои исходники :о)

ну ладно вам там просто через чур много всего путаться начинаю
Я начинающий !)

Добавлено через 44 часа 6 минут
вот что получилось

var tank:Sprite = new Sprite();
var dulo:Sprite = new Sprite();
tank.addChild(dulo); ///Эту часть кода помещю в разную область кода и в начале и конце ни хрена не работает и почему то мувик танчика перекрывает курсор
Код:

import flash.events.Event;
import flash.display.Sprite;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
import flash.events.MouseEvent;

var direction:String;// вводим переменную direction,которая будет задавать направление движения
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyboardF);//событье клавиатуры
stage.addEventListener(Event.ENTER_FRAME,moveTank);//событье обновления экрана
ball.addEventListener(MouseEvent.CLICK,vzruv);
stage.addEventListener(MouseEvent.MOUSE_MOVE,followCursor);
function keyboardF (e:KeyboardEvent):String { //тип String. Пояснение ниже
if (e.keyCode == Keyboard.RIGHT) { // стрелка вправо – направление вправо
 direction = "right";
} else if (e.keyCode == Keyboard.LEFT) {//стрелка влево – направление влево
 direction = "left";
} else if (e.keyCode == Keyboard.UP) { //стрелка вверх – направление вверх
 direction = "up";
} else if (e.keyCode == Keyboard.DOWN) { //стрелка вниз – направление вниз
 direction = "down";
} else if (e.keyCode == Keyboard.SPACE) { //пробел – остановка анимации
 direction = "stop";
}

return direction; //об этом ниже

}

function moveTank(e:Event)
{
switch (direction) { //идет сравнение с тем, чему равно direction. Соответствующий блок кода выполняется
 case 'up' : //если direction= "up", выполняется этот блок кода
        tank.y -= 4;
        break;

 case 'down' : //если direction= "down'", выполняется этот блок кода
        tank.y += 4;
        break;

 case 'right' : //если direction= "right'", выполняется этот блок кода
        tank.x += 4;
        break;

 case 'left' : //если direction= "left'", выполняется этот блок кода
        tank.x -= 4;
        break;

 case 'stop' : //если direction= "stop'", выполняется этот блок кода
        break;
}
}
function followCursor(event:MouseEvent):void
{

        var coordy1:Number = mouseY - dulo.y;
        var coordx1:Number = mouseX - dulo.x;
        var angleRadians1:Number = Math.atan2(coordy1,coordx1);
        var angleDegrees1:Number = angleRadians1 * 180 / Math.PI;
        dulo.rotation = angleDegrees1;

}
function vzruv (event:MouseEvent):void
{
        ball.alpha = 0.0;
}
pricel.startDrag("true");
Mouse.hide();



как быть:o

Добавлено через 46 часов 28 минут
все решил проблему tank.addChild(dulo);
dulo.x = dulo.y =0;


Часовой пояс GMT +4, время: 08:31.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.