2.02.2015 / 12:55 | |
oslopov1991 Пользователь Сейчас: Offline
Имя: олег Регистрация: 24.12.2014
| PLUTONiUM, на твой пост ( #398867) отвечу, Потому что BASIC это винтажно! |
2.02.2015 / 16:58 | |
ВитаминКО Супермодератор Сейчас: Offline
Имя: Василиус Откуда: RZN Регистрация: 20.04.2012
| PLUTONiUM, потому что бейсик стильно, модно, молодежнопросто, доступно, для школьников __________________
わからない!! |
2.02.2015 / 17:43 | |
oslopov1991 Пользователь Сейчас: Offline
Имя: олег Регистрация: 24.12.2014
| ВитаминКО, на твой пост ( #399025) отвечу, И basic именно по этому винтажный и хардкорный. Попробуй-ка исхитрится примитивным бейсиком наисать 3D приложение? Ну конечно самый хардкор и винтаж это ассемблер какого нибудь проца. Изменено oslopov1991 (2.02 / 17:46) (всего 1 раз) |
10.02.2015 / 12:57 | |
oslopov1991 Пользователь Сейчас: Offline
Имя: олег Регистрация: 24.12.2014
| Вот ещё один код. Он может строить картинку из отдельных тайлов и позволяет скроллится по ней. Так я делаю карту для своей игры x=0
y=0
gr.open 255,25,25,25
gr.orientation 0
gr.bitmap.load img000,"/grafics/трава.png"
gosub position_init
gr.bitmap.draw im1,img000,x1,y1
gr.bitmap.draw im2,img000,x2,y2
gr.bitmap.draw im3,img000,x3,y3
gr.bitmap.draw im4,img000,x4,y4
gr.bitmap.draw im5,img000,x5,y5
gr.render
gosub touch
while 1=1
wold=wnew
hold=hnew
gosub touch
gosub move_conditions
gosub position_init
gosub image_move
gr.render
repeat
touch:
do
gr.touch touched,wnew,hnew
until touched
return
move_conditions:
if wnew>wold then x=x+1
if wnew<wold then x=x-1
if hnew>hold then y=y+1
if hnew<hold then y=y-1
if x>0 then x=0
if x<=-3072 then x=-3072
if y>=0 then y=0
if y<=-3544 then y=-3544
return
position_init:
x1=x+(64*0)
x2=x+(64*1)
x3=x+(64*2)
x4=x+(64*3)
x5=x+(64*4)
y1=y+(64*0)
y2=y+(64*1)
y3=y+(64*2)
y4=y+(64*3)
y5=y+(64*4)
return
image_move:
gr.modify im1,"x",x1
gr.modify im2,"x",x2
gr.modify im3,"x",x3
gr.modify im4,"x",x4
gr.modify im5,"x",x5
gr.modify im1,"y",y1
gr.modify im2,"y",y2
gr.modify im3,"y",y3
gr.modify im4,"y",y4
gr.modify im5,"y",y5
return
Кстати папку /grafics/ я специально создавал в папке бейсика /rfo-basic/data/ для того чтобы хранить в ней всю графику создаваемой игры отдельно от учебных примеров. Так путаницы меньше. Может мой тиранической труд по созданию движка игры будет кому-то полезен. Изменено oslopov1991 (10.02 / 12:57) (всего 1 раз) |
10.02.2015 / 13:06 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| oslopov1991, массив лучше используй, ибо это x1=x+(64*0) x2=x+(64*1) x3=x+(64*2) x4=x+(64*3) x5=x+(64*4) плохой код
__________________
let live |
10.02.2015 / 13:49 | |
ВитаминКО Супермодератор Сейчас: Offline
Имя: Василиус Откуда: RZN Регистрация: 20.04.2012
| aNNiMON, зато быстрый)
__________________
わからない!! |
10.02.2015 / 15:00 | |
Magatino Администратор Сейчас: Offline
Имя: Alexandr Откуда: Где Ленин родился. Simbirsk City Регистрация: 28.01.2011
| Цитата oslopov1991: Вот ещё один код. Он может строить картинку из отдельных тайлов и позволяет скроллится по ней. Так я делаю карту для своей игры [code=basic] x=0 y=0
gr.open 255,25,25,25 gr.orientation 0
grЭтот код безполезный и не универсальный, можно намного лучше, писал бы на Java заодно бы и основы игровых функции подучил |
10.02.2015 / 16:58 | |
oslopov1991 Пользователь Сейчас: Offline
Имя: олег Регистрация: 24.12.2014
| aNNiMON, Массив здесь не удобен. Да и к тому же инструкции массива не дали нужный результат. Я всякое пробывал. И хранить номера названий картинок в масииве ввиде нужного рисунка. И просто задавать массив координат. Не подходят совсем для этого. Инструкции работы с картинками не допускаютиспользование индексов массива в качестве имён картинок. Выбивают ошибку синтаксиса. Кстати имена переменных они тоже не допускают. Толь ярлыки и условные имена и никак иначе. Массивы я буду пользовать для хранения данных о характеристиках персонажей и врагов. Там массивам самое место. А для построения карт я буду использовать только подобный код. Потому-что в нем проще ориентироваться если появится желание перерисовать карты. тот кусок кода что ты выделил предназначен только для жёсткого назначения позиций и массив там не нужен да и не возможен. Потому что во первых это две группы значений, во вторых по ним вычисляются позиции для каждого тайгл и в третьих нет такого массива который бы хранил одновременно по две координаты в ячейке и был при этом двухмерным. Так что такой код хоть и больше, зато он свою работу делает безотказно. К тому же я заложил принцип построения координат всех элементов по заранее чётко определённой позиции. Если найду способ свести данный код в компактный код из массивов, то конечно перепишу сразу. И выложу вариант с массивами. А пока такой код понятней для начинающих если станут разбираться в принципе его работы. Я повторяю для всех. На этом диалекте пишу впервые. И ещё не освоил его. Прошу не писать про плохой код и тому подобное. Главное что код работает. А упрощу я его потом, когда лучше разберусь в тонкостях диалекта.
Изменено oslopov1991 (10.02 / 17:04) (всего 1 раз) |
10.02.2015 / 17:06 | |
oslopov1991 Пользователь Сейчас: Offline
Имя: олег Регистрация: 24.12.2014
| ВитаминКО, на твой пост ( #400327) отвечу, Спасибо. Именно скорость, а не размер для меня важен. |
10.02.2015 / 17:07 | |
oslopov1991 Пользователь Сейчас: Offline
Имя: олег Регистрация: 24.12.2014
| aNNiMON, на твой пост ( #400326) отвечу, Если можешь лучше, тогда напиши, а я почитаю. Поучусь у мастера. |