purebasic.info

PureBasic forum
Текущее время: Пн дек 17, 2018 10:55 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
СообщениеДобавлено: Пн окт 28, 2013 5:10 pm 
Не в сети
профессор

Зарегистрирован: Чт авг 05, 2010 2:36 pm
Сообщений: 469
Откуда: Донецк
Благодарил (а): 47 раз.
Поблагодарили: 11 раз.
Ориентировался на код из примера комплекта пурика keyboard.pb. Написал ради теста как получиться воспроизвести звук при нажатии на клавиатуру.
Может кто подскажет почему скомпилированый exe падает с ошибкой.
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
 
If InitKeyboard()=0 And InitSound()=0
  MessageRequester("error", "cannot initialize subsystem", 0)
  End
EndIf
 
If OpenScreen(800, 600, "one game")
 
  ls.l=LoadSound(1, "left.wav")
  rs.l=LoadSound(2, "right.wav")
 
  Repeat
   
  ExamineKeyboard()
  If KeyboardPushed(#PB_Key_Left)
    StopSound(ls)
    PlaySound(ls)
  EndIf
 
    If KeyboardPushed(#PB_Key_Right)
      StopSound(rs)
      PlaySound(rs)
    EndIf
   
  Until KeyboardPushed(#PB_Key_Escape)
 
  EndIf
  End
 



PS: Просьба вопросы "нафиг игра без графики" не задавать, ответ есть на
http://www.tiflocomp.ru/games/design/index.php

_________________
PureBasic 5.60 X86, RfoBasic 90, Tinycc 0.97, Asus K54C Intel i7 2.7 ghz, 8 gb ddr3, Intel HD 3000, Windows XP SP3, Windows 10 x64, Nexus 4 and v5.1.1.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн окт 28, 2013 5:18 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11336
Благодарил (а): 4 раз.
Поблагодарили: 443 раз.
Apokalipsis писал(а):
Может кто подскажет почему скомпилированый exe падает с ошибкой.
http://purebasic.mybb.ru/viewtopic.php?id=278#p4590

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн окт 28, 2013 5:36 pm 
Не в сети
профессор

Зарегистрирован: Чт авг 05, 2010 2:36 pm
Сообщений: 469
Откуда: Донецк
Благодарил (а): 47 раз.
Поблагодарили: 11 раз.
Петр, спасибо за код, полезный!
Но все равно непонятно почему показывает ошибку в строке
Код:
1
2
3
 
openscreen(800, 600, 32, "one game")
 


Ведь все правильно написал, даже десяток подобных кодов пролистал и везде одинаково написано.
Может как-то можно использовать keyboardpushed() без использования библиотеки sprite в обычном окне?

_________________
PureBasic 5.60 X86, RfoBasic 90, Tinycc 0.97, Asus K54C Intel i7 2.7 ghz, 8 gb ddr3, Intel HD 3000, Windows XP SP3, Windows 10 x64, Nexus 4 and v5.1.1.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн окт 28, 2013 5:38 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
А что вылазит, Invalid memory adress?

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн окт 28, 2013 5:45 pm 
Не в сети
профессор

Зарегистрирован: Чт авг 05, 2010 2:36 pm
Сообщений: 469
Откуда: Донецк
Благодарил (а): 47 раз.
Поблагодарили: 11 раз.
Ага, показывает что ошибка в 25 строке, как раз в openscreen()

_________________
PureBasic 5.60 X86, RfoBasic 90, Tinycc 0.97, Asus K54C Intel i7 2.7 ghz, 8 gb ddr3, Intel HD 3000, Windows XP SP3, Windows 10 x64, Nexus 4 and v5.1.1.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн окт 28, 2013 6:04 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
Все очень просто! Перед использованием OpenScreen нужно вызвать InitSprite для инциализации DirectX

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн окт 28, 2013 6:13 pm 
Не в сети
профессор

Зарегистрирован: Чт авг 05, 2010 2:36 pm
Сообщений: 469
Откуда: Донецк
Благодарил (а): 47 раз.
Поблагодарили: 11 раз.
Упс, не то скинул, все было правильно объявлено в начале при инициализации библиотек.
Перепутал файлы. Вот исправленый, но даже ошибки не показывает теперь, после добавления кода проверки ошибки, как подсказал Петр.
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 
Procedure FatalError()
   Protected Result$, Line
   
   Result$="Упс, прога навернулась "
   Line = ErrorLine()
   If Line>=0
     Result$+" в строке "+Str(Line)+", файла: "+ErrorFile()
   EndIf
   
   Result$+Chr(10)+Chr(10)+"Ошибка типа: "+Chr(34)+ErrorMessage()+Chr(34)
   Result$+Chr(10)+Chr(10)+"Напишите об этом разробу проги и может он соизволит исправить этот баг."
   MessageRequester("Ошибка программы!", Result$, #MB_OK|#MB_ICONERROR)
   End
 EndProcedure
 
DisableDebugger
 OnErrorCall(@FatalError())
 
 
If InitSprite()=0 Or InitKeyboard()=0 Or InitSound()=0
  MessageRequester("error", "cannot initialize subsystem", 0)
  End
EndIf
 
If OpenScreen(800, 600, 24, "one game")
 
  ls.l=LoadSound(1, "left.wav")
  rs.l=LoadSound(2, "right.wav")
 
  Repeat
   
  ExamineKeyboard()
  If KeyboardPushed(#PB_Key_Left)
    StopSound(ls)
    PlaySound(ls)
  EndIf
 
    If KeyboardPushed(#PB_Key_Right)
      StopSound(rs)
      PlaySound(rs)
    EndIf
   
  Until KeyboardPushed(#PB_Key_Escape)
 
  EndIf
  End
 


_________________
PureBasic 5.60 X86, RfoBasic 90, Tinycc 0.97, Asus K54C Intel i7 2.7 ghz, 8 gb ddr3, Intel HD 3000, Windows XP SP3, Windows 10 x64, Nexus 4 and v5.1.1.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн окт 28, 2013 6:46 pm 
Не в сети
профессор

Зарегистрирован: Чт авг 05, 2010 2:36 pm
Сообщений: 469
Откуда: Донецк
Благодарил (а): 47 раз.
Поблагодарили: 11 раз.
Всем спасибо за помощь, разобрался. Немного изменился принцип работы функции playsound по сравнению с 4.51.
Из-за этого код вылетал с ошибкой, openscreen() оказался ни при чем)))

_________________
PureBasic 5.60 X86, RfoBasic 90, Tinycc 0.97, Asus K54C Intel i7 2.7 ghz, 8 gb ddr3, Intel HD 3000, Windows XP SP3, Windows 10 x64, Nexus 4 and v5.1.1.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB