Результаты поиска
| |
knebu | Дата: Понедельник, 02 Апреля 2012, 03:19 | Сообщение # 1 | Тема: неправильный полет пули при нажатии клавиш A D |
был не раз
Сейчас нет на сайте
| создал танк.у него поворот корпуса кнопки Ф и В ,которые используют свойство rotation .также создал пулю к танку.экземпляр пули создал в классе башни танка,башня лежит в мувиклипе корпуса танка.при зажатой клавише Ф или В траектория полета пули меняется вместе с повортом корпуса.как это можно исправить.помогите кто-нибудь
тут фла-файл с классами
http://zalil.ru/32997271
|
|
| |
knebu | Дата: Вторник, 28 Февраля 2012, 19:19 | Сообщение # 2 | Тема: доступ к обьектам на сцене из As файла. |
был не раз
Сейчас нет на сайте
| обращение к обьекту из внешнего АS происходит через слово this,как я понял.вот я например хотел сделать себе АS,который управлял бы Keyboard,скросостью и ускорением,и чтоб можно было просто подключать его к своему спрайту(машине) в fla,но када компилю ниче не происходит,были ошибки,но я их исправил,терь ошибок нет,но всеравно ниче не происходит а если напрямую вписать код в fla,то все работает.странно блин.мож имеет значение такие вещи,как static и dynamic?Добавлено (28.02.2012, 19:16) ---------------------------------------------
Code package { import flash.events.KeyboardEvent; import flash.events.Event; import flash.display.Stage; import flash.ui.Keyboard; import flash.display.MovieClip; public class KeyboardTank extends MovieClip {
public var keyPressed:uint; public var rightKeyIsDown:Boolean; public var leftKeyIsDown:Boolean; public var speed:Number = 5; public function KeyboardTank():void { // constructor code rightKeyIsDown = false; leftKeyIsDown = false; this.addEventListener(KeyboardEvent.KEY_DOWN,pressKey); this.addEventListener(KeyboardEvent.KEY_UP,releaseKey); this.addEventListener(Event.ENTER_FRAME,moveTank); } public function pressKey(e:KeyboardEvent):void{ keyPressed = e.keyCode; if(keyPressed == Keyboard.D){ rightKeyIsDown = true; } if(keyPressed == Keyboard.A){ leftKeyIsDown = true; } } public function releaseKey(e:KeyboardEvent):void{ var thisKey:uint = e.keyCode; if(thisKey == Keyboard.D){ rightKeyIsDown = false; } if(thisKey == Keyboard.A){ leftKeyIsDown = false; } } public function moveTank(e:Event):void{ if(rightKeyIsDown){ this.x += speed; } if(leftKeyIsDown){ this.x -= speed; } } } } Добавлено (28.02.2012, 19:19) --------------------------------------------- на сцене в фла есть мувиклип класса Tank и базовый класс KeyboardTank.как его заставить слушать этот класс?
|
|
| |
knebu | Дата: Вторник, 28 Февраля 2012, 18:01 | Сообщение # 3 | Тема: 2D онлайн платформер. |
был не раз
Сейчас нет на сайте
| Quote (anton-gar) АХАХАХАХХ. Рассмешили, если вы смогли понять материал, это не значит, что его не поймёт никто! ООП - это важная, неотъемлемая часть для "Нормального" игростроя! блин я всего лишь сказал,что начинать надо не с ООП.я ща сам эту тему курю
|
|
| |
knebu | Дата: Вторник, 28 Февраля 2012, 17:13 | Сообщение # 4 | Тема: 2D онлайн платформер. |
был не раз
Сейчас нет на сайте
| начни вот с этого сайта,если ты такой же нуб в ЯПах,как и я http://easyflash.org .
вот хороший пример http://easyflash.org/flashlearn/flashvideotutorials/1647-seriya-video-urokov-po-sozdaniyu-prostoj-igry-ot-nachala-i-do-konca-svoimi-rukami.html
но сначала изучи че значит-var,function,array,addEventListener,for,if-.и не слушай тех кто говорит типа изучай ООП-я када в гугле набрал это слово,то попал на википедию и написаная тама абракадабра на 2 недели отбила мне желание ЯПы изучать
|
|
| |
knebu | Дата: Вторник, 28 Февраля 2012, 09:52 | Сообщение # 5 | Тема: Stage and color |
был не раз
Сейчас нет на сайте
| плохо.это получается надо будет маски накладывать или отдельно мувиклипы с нужным фоном делать.мне просто надо,чтоб лого было на черном фоне,а меню на зеленом в разных кадрах.
|
|
| |
knebu | Дата: Понедельник, 27 Февраля 2012, 10:55 | Сообщение # 6 | Тема: Stage and color |
был не раз
Сейчас нет на сайте
| как каждому кадру Stage дать свой фоновый цвет?
|
|
| |
knebu | Дата: Четверг, 23 Февраля 2012, 10:49 | Сообщение # 7 | Тема: Дистрибуция flash-игры |
был не раз
Сейчас нет на сайте
| а вот я читал про апи спонсоров,который надо встраивать в игру.это сильно сложно и чей апи самый простой и удобный?
|
|
| |
knebu | Дата: Воскресенье, 19 Февраля 2012, 05:42 | Сообщение # 8 | Тема: Препятствия во флеш |
был не раз
Сейчас нет на сайте
| а я слышал,что hitTestObject() устарелый метод и норм программисты уже давно используют какой-то другой обработчик столкновений,мож кто в курсях,что это за метод?вроде как hitTestObject() не совсем корректно себя ведет Добавлено (19.02.2012, 05:42) --------------------------------------------- хотя когда я его подключаю все норм работает
|
|
| |
knebu | Дата: Пятница, 17 Февраля 2012, 22:06 | Сообщение # 9 | Тема: Дистрибуция flash-игры |
был не раз
Сейчас нет на сайте
| извините за нубский вопрос,но какой максимальный размер экрана флешки разрешен на конге и арморе или он фиксирован для всех?
|
|
| |
knebu | Дата: Пятница, 17 Февраля 2012, 15:33 | Сообщение # 10 | Тема: Стратегия на Flash |
был не раз
Сейчас нет на сайте
| о то,что надо-буду разбираться.а с ПКМ я попутал-конечно же ЛКМ Добавлено (17.02.2012, 15:33) --------------------------------------------- а мож кто подскажет,где найти туториалы по колбекам?просто про евенты много всякого есть,а вот про колбеки вобще глухо
|
|
| |
knebu | Дата: Пятница, 17 Февраля 2012, 10:32 | Сообщение # 11 | Тема: Стратегия на Flash |
был не раз
Сейчас нет на сайте
| хм.ну если никто не против,то задам вопрос по стратегии здесь.я тут тоже новичек
как реалиазовать сетку выделения юнитов(это когда зажимаешь ПКМ и тянешь по диогонали над юнтами,которым хочешь отдавать приказы,для их выделения)?
|
|
| |
knebu | Дата: Вторник, 31 Января 2012, 22:54 | Сообщение # 12 | Тема: Не хочет проигрывать музыку |
был не раз
Сейчас нет на сайте
| Здрасьте.сделал себе кнопку,импортировал звук наведения на эту кнопку,привязал его к АС3,но выдает ошибку
Монтажный кадр 1, слой "AS", кадр 1, строка 25 1061: Обращение к возможно неопределенному методу play через ссылку статического типа Class.
вот код:
startGame_btn.addEventListener(MouseEvent.MOUSE_OVER,click2);
function click2(e:MouseEvent):void{ snd_loop.play(); } что я не так сделал?Добавлено (31.01.2012, 22:54) --------------------------------------------- а все разобрался-нужно было имя переменной писать перед play вместо названия звукового файла. извиняюсь
|
|
| |
knebu | Дата: Четверг, 19 Января 2012, 14:20 | Сообщение # 13 | Тема: Русскоязычные сайты о Construct |
был не раз
Сейчас нет на сайте
| Quote (БухойБард) Согласен.
а почему просто нельзя вновь вернуть форум http://scirraconstruct.ru/?хороший сайт был.можь просто у владельца этого сайта времени нет им заниматься вот и закрылся.если бы ты попросил у него права на этот сайт и продолжил его дело,то ващебы круто было.или так нельзя?
|
|
| |
knebu | Дата: Воскресенье, 08 Января 2012, 23:17 | Сообщение # 14 | Тема: мультиокно.мультизадачность.два активных окна в виндос7 |
был не раз
Сейчас нет на сайте
| Quote (Demeron) knebu, хм... ну раз ты так любишь сложности то: 1) Пишем DLL хук на клавиатуру. (в ней записуем только например определенные кнопки и только если активное окно - это окно скиры) 2) Пишем прогу, которая будет активировать этот хук. 3) Пишем прогу, которая будет считывать данные записанные ранее хуком и отправляет в окно с игрой.
Всё просто =) За час вполне реально сделать)) Только вот 1 минус, нужно знать какой-то ЯП. я вчера пол дня копался,но так ничего и не получилось.для решения этой задачи достаточно делфи и ты правильно советуешь-это делается через хуки,но весь интерес заключался сделать это в сцире,но знаний маловасто:(Добавлено (08.01.2012, 23:13) ---------------------------------------------
Quote (ArmaggeDroid) Все просто - если такой строки нет, ини возвращает 0. В его случае, не критично. Ему же нужно отображение нажатых кнопок, а в этом деле задержка допустима.
P.S. Проверено - способ работает. Архив с исходниками: ЗДЕСЬ
этот способ не подойдет к сожалению-там слишком большая задержка-для меня это критичноДобавлено (08.01.2012, 23:17) --------------------------------------------- короче я нашел два варианта решения этой задачи,но не с помощью сциры.1 способ это язык делфи-Перехват (Hook) клавиатуры (программа Sendkeys),скрипт уже готовый там есть,а второй способ через прогу AutoIt v3 Script,тоже есть готовый скрипт-Код:
HotKeySet("{ESC}", "OnAutoItExit") Global Const $WH_KEYBOARD_LL = 13 Global $sBuffer = "" Global $hStub_KeyProc = DllCallbackRegister("_KeyProc", "int", "int;ptr;ptr") Global $hMod = DllCall("kernel32.dll", "hwnd", "GetModuleHandle", "ptr", 0) Global $hHook = DllCall("user32.dll", "hwnd", "SetWindowsHookEx", "int", _ $WH_KEYBOARD_LL, "ptr", DllCallbackGetPtr($hStub_KeyProc), "hwnd", $hMod[0], "dword", 0) MsgBox(4096, "", "Type anything anywhere and it will appear in the top left corner of the screen.") While 1 Sleep(10) WEnd Func EvaluateKey($nKeyCode) If (($nKeyCode > 22) And ($nKeyCode < 91)) _ Or (($nKeyCode > 47) And ($nKeyCode < 58)) Then $sBuffer &= Chr($nKeyCode) ToolTip($sBuffer, 0, 0) ElseIf ($nKeyCode > 159) And ($nKeyCode < 164) Then Return EndIf EndFunc Func _KeyProc($nCode, $wParam, $lParam) Local $aRet, $KEYHOOKSTRUCT If $nCode < 0 Then $aRet = DllCall("user32.dll", "long", "CallNextHookEx", "hwnd", $hHook[0], "int", $nCode, "ptr", $wParam, "ptr", $lParam) Return $aRet[0] EndIf If $wParam = 256 Then $KEYHOOKSTRUCT = DllStructCreate("dword;dword;dword;dword;ptr", $lParam) EvaluateKey(DllStructGetData($KEYHOOKSTRUCT, 1)) EndIf $aRet = DllCall("user32.dll", "long", "CallNextHookEx", "hwnd", $hHook[0], "int", $nCode, "ptr", $wParam, "ptr", $lParam) Return $aRet[0] EndFunc Func OnAutoItExit() If $hStub_KeyProc Then DllCallbackFree($hStub_KeyProc) $hStub_KeyProc = 0 DllCall("user32.dll", "int", "UnhookWindowsHookEx", "hwnd", $hHook[0]) If @HotKeyPressed <> "" Then Exit EndFunc
с помощью сциры к сожалению не получится наверно-мне надо перехватывать кнопки с браузера в программу написанную на сцире,причем задержка более секунды уже критична
|
|
| |
knebu | Дата: Суббота, 07 Января 2012, 21:28 | Сообщение # 15 | Тема: мультиокно.мультизадачность.два активных окна в виндос7 |
был не раз
Сейчас нет на сайте
| Quote (allxumuk) Немного сомневаюсь, что это возможно сделать на Констракте, не для того он делался ну я попробую,как советовал ArmaggeDroid-через ини.мож получится,раз на флеше можна ,то и сцира сможет. хотя резать спрайты на кусочки,как в флеше тут нельзя-я уже эту тему проверял
|
|
| |
knebu | Дата: Суббота, 07 Января 2012, 21:18 | Сообщение # 16 | Тема: мультиокно.мультизадачность.два активных окна в виндос7 |
был не раз
Сейчас нет на сайте
| Quote (ArmaggeDroid) Ну а если все-таки нужно два приложения, то тоже просто: берем обьект INI, Start of layout - Set INI file. (в обоих приложениях). Потом через Write value передаем значение кнопок. блин извини меня-я малость протупил с объяснением проблемы-мне принципе нужно просто сделать прогу,которая бы реагировала на нажатие кнопок не будучи активной.попробую через ИНИ-чета я про это вообще забыл,после закрытия русфорума сциры давно ей не пользовался
|
|
| |
knebu | Дата: Суббота, 07 Января 2012, 21:09 | Сообщение # 17 | Тема: мультиокно.мультизадачность.два активных окна в виндос7 |
был не раз
Сейчас нет на сайте
| Quote (ArmaggeDroid) Обьект Layout - В свойствах отметь Popup и выбери уровень для просмотра. Все! Так получается два окна из одного приложения. Ну а передать данные между уровнями просто (например, через глобальные переменные).
*Поясню: просто сделай такое же приложение внутри игры отдельным уровнем, и воспользуйся способом выше.
вот смотри-допустим я играю какую-нибудь флеш игру в браузере-значит браузер будет являтся активным окном,вот мне надо сделать прогу,которая будет просто у меня запущенной,но свернутой в панели т.е.не будет реагировать на нажатия кнопок на клаве-вот именно эту проблему мне надо решить-чтобы она реагировала не будучи активной в виндос
|
|
| |
knebu | Дата: Суббота, 07 Января 2012, 21:00 | Сообщение # 18 | Тема: мультиокно.мультизадачность.два активных окна в виндос7 |
был не раз
Сейчас нет на сайте
| Quote (ArmaggeDroid) Так получается два окна из одного приложения не,я же написал,что эксешника будет 2 и сами проги будут не много отличаться.1 окно-непосредственно сама игра,а второе почти тоже самое,но там будет еще фиксироваться статистика о нажатых кнопках и последствиях их нажатияДобавлено (07.01.2012, 21:00) ---------------------------------------------
Quote (ArmaggeDroid) Так получается два окна из одного приложения не,я же написал,что эксешника будет 2 и сами проги будут не много отличаться.1 окно-непосредственно сама игра,а второе почти тоже самое,но там будет еще фиксироваться статистика о нажатых кнопках и последствиях их нажатия
|
|
| |
knebu | Дата: Суббота, 07 Января 2012, 20:54 | Сообщение # 19 | Тема: мультиокно.мультизадачность.два активных окна в виндос7 |
был не раз
Сейчас нет на сайте
| есть такой вопрос-сделал игру(на сцире),там управление стрелки-лево и право- и я спецом написал для своей игры прогу(тоже на сцире) для статистки и повтора движений,чтоб проще было работать над игрой в дальнейшем.так вот меня интересует можно ли,чтобы когда я буду нажимать кнопки в своей игре,сигнал от этих кнопок уходил в мою вторую прогу и там также отображал все действия на клавиатуре?
я знаю,что это реализуемо т.к. видел такую механику написанную на флеше,но флеш вообще не знаю,так что хочу сделать в сцире.помогите плиз Добавлено (07.01.2012, 20:54) --------------------------------------------- тоесть постараюсь еще проще объяснить-у меня будет открыто два окна одной и той же игры с разных эксешников,но с не большими различиями и мне надо,чтобы на нажатие кнопки на клаве реагировали сразу эти два окошка,а не только то,что активно.
сразу скажу,что это мне не для мультибокса надо в онлайн играх,а для упрощения работы над своей игрой
|
|
| |
knebu | Дата: Суббота, 07 Января 2012, 19:18 | Сообщение # 20 | Тема: окно поверх всех окон |
был не раз
Сейчас нет на сайте
| Quote (ArmaggeDroid) Добавь обьект Window, В Event Sheet напиши Start of layout - Window - Always on top.
ого как оперативно спасибоДобавлено (07.01.2012, 19:18) --------------------------------------------- а у меня есть еще вопрос,но уже о другом,мне для этого надо новую тему создавать или здесь можно спросить?
|
|
| |
|