Показать сообщение отдельно
Старый 24.06.2015, 14:10   #25
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,021
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: Помогите с травой

А третьи начинают флуд.


Max Payne, если ты что-то сделать хочешь, то тебе надо не с травой разбираться, а учить программирование. Я начинал точно так же с копипасты и ничем хорошим это не кончилось.

Во-первых, Булка, этот форум, здесь по Blitz3D можно найти практически все ответы.
Во-вторых, blitzetc.ru.
Пакет примеров от Шталкера кажется.
Сам блиц, самой последней версии.
Русский help, там есть лишние файлы, но думаю разберёшься. Надо скопировать в папку с блицем и заменить.

Насчёт функции. Функция это когда (к примеру, подробности см. ниже ) код который нужно выполнять множество раз, скрываешь за одно командой. Красным помечена команда, которую добавляет программист, остальное "обёрнутый" код:
;Layer и MapFile$ параметры передаваемые в функцию

Function BG_SetGrassMap(Layer, MapFile$) ;Начало функции

;Код который без функции протребовалось бы писать 100500 раз (индусский код)
	em.BG_GrassLayer = Object.BG_GrassLayer(Layer)
	Img = LoadImage(MapFile)
	Width = ImageWidth(Img)-1
	Height = ImageHeight(Img)-1
	Buff = ImageBuffer(Img)
	
	LockBuffer Buff
	
	For x = 0 To 255
	For y = 0 To 255
		rgb = ReadPixelFast(255*x/Width, Height-(255*y/Height), Buff)
		density = (rgb Shr 8) And $FF
		BG_sysArraySet(em\GrassMap, x, y, density)
	Next
	Next
	
	UnlockBuffer Buff
End Function ;Конец функции

Последний раз редактировалось Arton, 02.07.2015 в 03:06. Причина: ошипка.
(Offline)
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо Arton за это полезное сообщение:
Gector (26.06.2015), Izunad (24.06.2015), Max Payne (24.06.2015), Randomize (25.06.2015), St_AnGer (24.06.2015)