Пятница, 29 Марта 2024, 16:53

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Записи участника » knebu [21]
Результаты поиска
knebuДата: Понедельник, 02 Апреля 2012, 03:19 | Сообщение # 1 | Тема: неправильный полет пули при нажатии клавиш A D
был не раз
Сейчас нет на сайте
создал танк.у него поворот корпуса кнопки Ф и В ,которые используют свойство rotation .также создал пулю к танку.экземпляр пули создал в классе башни танка,башня лежит в мувиклипе корпуса танка.при зажатой клавише Ф или В траектория полета пули меняется вместе с повортом корпуса.как это можно исправить.помогите кто-нибудь cry

тут фла-файл с классами

http://zalil.ru/32997271
knebuДата: Вторник, 28 Февраля 2012, 19:19 | Сообщение # 2 | Тема: доступ к обьектам на сцене из As файла.
был не раз
Сейчас нет на сайте
обращение к обьекту из внешнего АS происходит через слово this,как я понял.вот я например хотел сделать себе АS,который управлял бы Keyboard,скросостью и ускорением,и чтоб можно было просто подключать его к своему спрайту(машине) в fla,но када компилю ниче не происходит,были ошибки,но я их исправил,терь ошибок нет,но всеравно ниче не происходит cry
а если напрямую вписать код в 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)
АХАХАХАХХ. Рассмешили, если вы смогли понять материал, это не значит, что его не поймёт никто! ООП - это важная, неотъемлемая часть для "Нормального" игростроя!

блин я всего лишь сказал,что начинать надо не с ООП.я ща сам эту тему курю angry
knebuДата: Вторник, 28 Февраля 2012, 17:13 | Сообщение # 4 | Тема: 2D онлайн платформер.
был не раз
Сейчас нет на сайте
начни вот с этого сайта,если ты такой же нуб в ЯПах,как и я biggrin 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 недели отбила мне желание ЯПы изучать biggrin
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
был не раз
Сейчас нет на сайте
о то,что надо-буду разбираться.а с ПКМ я попутал-конечно же ЛКМ smile

Добавлено (17.02.2012, 15:33)
---------------------------------------------
а мож кто подскажет,где найти туториалы по колбекам?просто про евенты много всякого есть,а вот про колбеки вобще глухо sad

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 вместо названия звукового файла. smile извиняюсь

knebuДата: Четверг, 19 Января 2012, 14:20 | Сообщение # 13 | Тема: Русскоязычные сайты о Construct
был не раз
Сейчас нет на сайте
Quote (БухойБард)
Согласен.


а почему просто нельзя вновь вернуть форум http://scirraconstruct.ru/?хороший сайт был.можь просто у владельца этого сайта времени нет им заниматься вот и закрылся.если бы ты попросил у него права на этот сайт и продолжил его дело,то ващебы круто было.или так нельзя? cranky
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-через ини.мож получится,раз на флеше можна ,то и сцира сможет.
хотя резать спрайты на кусочки,как в флеше тут нельзя-я уже эту тему проверял biggrin
knebuДата: Суббота, 07 Января 2012, 21:18 | Сообщение # 16 | Тема: мультиокно.мультизадачность.два активных окна в виндос7
был не раз
Сейчас нет на сайте
Quote (ArmaggeDroid)
Ну а если все-таки нужно два приложения, то тоже просто: берем обьект INI, Start of layout - Set INI file. (в обоих приложениях). Потом через Write value передаем значение кнопок.

блин извини меня-я малость протупил с объяснением проблемы-мне принципе нужно просто сделать прогу,которая бы реагировала на нажатие кнопок не будучи активной.попробую через ИНИ-чета я про это вообще забыл,после закрытия русфорума сциры давно ей не пользовался
fool
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
был не раз
Сейчас нет на сайте
есть такой вопрос-сделал игру(на сцире),там управление стрелки-лево и право- и я спецом написал для своей игры прогу(тоже на сцире) для статистки и повтора движений,чтоб проще было работать над игрой в дальнейшем.так вот меня интересует можно ли,чтобы когда я буду нажимать кнопки в своей игре,сигнал от этих кнопок уходил в мою вторую прогу и там также отображал все действия на клавиатуре?

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

Добавлено (07.01.2012, 20:54)
---------------------------------------------
тоесть постараюсь еще проще объяснить-у меня будет открыто два окна одной и той же игры с разных эксешников,но с не большими различиями и мне надо,чтобы на нажатие кнопки на клаве реагировали сразу эти два окошка,а не только то,что активно.

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

knebuДата: Суббота, 07 Января 2012, 19:18 | Сообщение # 20 | Тема: окно поверх всех окон
был не раз
Сейчас нет на сайте
Quote (ArmaggeDroid)
Добавь обьект Window, В Event Sheet напиши Start of layout - Window - Always on top.


ого как оперативно surprised спасибо

Добавлено (07.01.2012, 19:18)
---------------------------------------------
а у меня есть еще вопрос,но уже о другом,мне для этого надо новую тему создавать или здесь можно спросить?

Форум игроделов » Записи участника » knebu [21]
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг