How about to re-write like this?
Code:
local function job1(bu)
bu.SelectedTexture:SetDrawLayer("BACKGROUND")
bu.SelectedTexture:SetTexture(r, g, b, .2)
bu.SelectedTexture:SetAllPoints()
end
job1(BonusFrame.RandomBGButton);
job1(BonusFrame.Arena1Button);
job1(BonusFrame.Arena2Button);